Apache Tomcat Ajp-CVE-2020-1938漏洞复现
环境搭建:
sudo docker pull duonghuuphuc/tomcat-8.5.32
sudo docker run -d -it -p 8080:8080 -p 8009:8009 –name ghostcat duonghuuphuc/tomcat-8.5.32
漏洞复现:
任意文件读取
任意文件包含:
请求存在的jsp使其包含指定的文件中的jsp代码
修复:
1.若不需要使用Tomcat AJP协议,可直接关闭AJP Connector,或将其监听地址改为仅监听本机localhost。
此时重启tomcat即测试不成功
2.增加ajp connector密钥认证方式
tomcat version7 version9
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" address="YOUR_TOMCAT_IP_ADDRESS" secret="YOUR_TOMCAT_AJP_SECRET"/>
tomcat version8
tips:
影响范围:
Apache Software Foundation Tomcat 6.*
Apache Software Foundation Tomcat 7.0.0 – 7.0.99
Apache Software Foundation Tomcat 8.0.0 – 8.5.50
Apache Software Foundation Tomcat 9.0.0 – 9.0.30
攻击过程主要控制以下三个属性,发送的消息如果包含着三个值,那么serverlet将根据三个值属性进行request请求的改造
poc地址:
https://github.com/0nise/CVE-2020-1938
参考:
https://blog.csdn.net/yiqiushi4748/article/details/104428847