1. 程式人生 > >Apache Tomcat Ajp-CVE-2020-1938漏洞復現

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

https://mp.weixin.qq.com/s?__biz=MzI4NjE2NjgxMQ==&mid=2650241245&idx=1&sn=2ca66d99fafb82b17b9023e65a143d63&chksm=f3e2c2a9c4954bbfa58ed15d4647eab743d79375eb51853ab2aecacf5f5c85b862f91cc0d685&mpshare=1&scene=23&srcid=&sharer_sharetime=1582366241817&sharer_shareid=ae6683d6c0e7df9a0b7c15e7cacf6b3