tomcat漏洞扫描原理 web漏洞扫描器编写

昨天,群里聊嗨了 。大家都在远程办公,却都急急忙忙的升级线上的 Tomcat 版本,原因就是 Tomcat 被曝出了严重的漏洞,几乎涉及到所有的版本 。
一、漏洞原理具体来说就是 Apache Tomcat 服务器存在文件包含漏洞,攻击者可利用该漏洞读取或包含 Tomcat 上所有 webapp 目录下的任意文件,如:webapp 配置文件或源代码等 。
由于 Tomcat 默认开启的 AJP 服务(8009 端口)存在一处文件包含缺陷,攻击者可构造恶意的请求包进行文件包含操作,进而读取受影响 Tomcat 服务器上的 Web 目录文件 。
二、漏洞编号根据资料显示,涉及到两个漏洞编号 。

  • CVE-2020-1938
  • CNVD-2020-1048
三、漏洞影响的版本
  • Apache Tomcat 6
  • Apache Tomcat 7 < 7.0.100
  • Apache Tomcat 8 < 8.5.51
  • Apache Tomcat 9 < 9.0.31
四、漏洞详情首先启动 apache tamcat 服务,访问 localhost:8080 可以成功访问如下界面 。
tomcat漏洞扫描原理 web漏洞扫描器编写


通过上图,我们可以确定到对应 Tomcat 的版本号 。
然后再使用漏洞扫描工具对其进行端口扫描发现 8009、8080 都已端口开启,证明有该漏洞 。
tomcat漏洞扫描原理 web漏洞扫描器编写


然后,大家可以利用 github 上别人写好的脚本进行攻击演示 。下载地址如下,有两个 。任选其一即可 。
Poc1 下载地址:
https://github.com/0nise/CVE-2020-1938
Poc2 下载地址:
https://github.com/YDHCUI/CNVD-2020-10487-Tomcat-Ajp-lfi
下载好后进入该文件夹 cmd 命令执行并加上网址参数利用 poc 。需要注意的是 poc 为 py2 环境 。然后执行下面的命令 。
tomcat漏洞扫描原理 web漏洞扫描器编写


执行成功后就可以看到成功访问到该文件 web.xml 。其他的 WEB-INF 下面的文件都可以访问到,包括你的源码文件,jsp、html、.class 等 。
tomcat漏洞扫描原理 web漏洞扫描器编写


五、漏洞修复方案1、禁用Tomcat 的 AJP 协议端口,在 conf/server.xml 配置文件中注释掉 <Connector port=”8009″ protocol=”AJP/1.3″redirectPort=”8443″ /> 。
2、在 ajp 配置中的 secretRequired 跟 secret 属性来限制认证 。
3、对 Tomcat 进行版本升级 。
六、写在最后你们公司有没有用 Tomcat?用的版本是多少?有没有中招?欢迎留言区评论交流!
【tomcat漏洞扫描原理 web漏洞扫描器编写】以上就是tomcat漏洞扫描原理(web漏洞扫描器编写)_爱惜日投稿的相关内容了,更多精彩请关注我们!!

    推荐阅读