Tomcat典型漏洞

Posted Python小蜜圈

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Tomcat典型漏洞相关的知识,希望对你有一定的参考价值。

   主要是写一下Tomcat的典型漏洞,主要包括在测试中常见的上传war包getshell、使用PUT方法上传脚本获取shell、文件包含漏洞:

1、CVE-2017-12615:

    在某些场景下面,攻击者将通过这个漏洞可以上传构造的脚本木马,通过脚本木马可以在服务器上面远程执行任意代码。当 Tomcat运行在Windows操作系统时,且启用了HTTP PUT请求方法(例如,将 readonly 初始化参数由默认值设置为 false),攻击者将有可能可通过精心构造的攻击请求数据包向服务器上传包含任意代码的 JSP 文件,JSP文件中的恶意代码将能被服务器执行。导致服务器上的数据泄露或获取服务器权限。

测试环境使用的是docker集成的靶机来进行的:

   (1)、查看docker运行状态:

(2)、进入相关目录进行启动tomcat,拉取镜像,事先已经拉去完毕。

Tomcat典型漏洞

(3)、访问http://192.168.19.129:8080

Tomcat典型漏洞

(4)、刷新页面,并用bp进行抓取请求包:

Tomcat典型漏洞

(5)、将请求的GET类型替换为PUT,后面添加自己的脚本的名字,请求体最后放入jsp脚本木马。

Tomcat典型漏洞加入的是明文的木马脚本,如果是加密的上面抓取到的是密文的/shell.jsp/后面的斜杠需要跟着:

Tomcat典型漏洞

Tomcat典型漏洞

抓取到菜刀执行的系统命令的回包:

Tomcat典型漏洞

2、Tomcat上传war包进行getshell(tomcat弱口令)

Tomcat是我们在工作中所使用的一款开源轻量级的Web应用程序服务器。通常情况下在中小型系统或者并发量较小的场合下使用,常用来与JSP脚本结合使来解析脚本语言部署搭建网站等系统。

有些tomcat采用默认的用户名和密码(用户名:admin,密码:空),所以我们可以登录后台后进行上传war包来进行getshell。(有时候虽然是弱口令,但是后台上传war包没权限)。

Tomcat典型漏洞

制作war包,将jsp代码放入到war包中:

jsp脚本木马放在javaBin目录下面jar.exe cvf shell.war shell.jsp ---》》制作war包命令

Tomcat典型漏洞

Tomcat典型漏洞

Tomcat典型漏洞

上传到tomcat后台访问连接地址:http://192.168.19.129:8080/shell/shell.jsp

Tomcat典型漏洞

Tomcat典型漏洞

抓包抓取到上传war包的信息:

Tomcat典型漏洞

Tomcat典型漏洞


修复方式:1、建议设置强口令和密码;2、设置用户权限;3、以及针对manager-gui/manager-status/manager-script等目录页面设置最小权限访问限

3、Apache Tomcat 文件包含漏洞(CVE-2020-1938)

Apache Tomcat文件包含漏洞(CNVD-2020-10487/CVE-2020-1938)。该漏洞是由于Tomcat AJP协议存在缺陷而导致,攻击者利用该漏洞可通过构造特定参数,读取服务器webapp下的任意文件。若目标服务器同时存在文件上传功能,攻击者可进一步实现远程代码执行影响 Apache Tomcat = 67 <= Apache Tomcat <7.0.1008 <= Apache Tomcat <8.5.519 <= Apache Tomcat <9.0.31

docker-compose up -d在docker中拉取所需的tomcat镜像,然后前期进行nmap进行全端口扫描。其中80098080是docker映射的端口。访问8080端口就可以看到tomcat主界面。然后我们利用exp来进行模拟攻击目标主机使用脚本执行命令,成功读取web.xml文: python2.exe CNVD-2020-10487-Tomcat-Ajp-lfi.py -p 8009 -f /WEB-INF/web.xml 192.168.19.129


Tomcat典型漏洞



以上是关于Tomcat典型漏洞的主要内容,如果未能解决你的问题,请参考以下文章

Apache Tomcat CVE-2017-12615远程代码执行漏洞分析

漏洞预警:apache tomcat session 反序列化代码执行漏洞

Tomcat远程代码执行漏洞CVE-2017-12615复现

Tomcat代码执行漏洞(CVE-2017-12615)的演绎及个人bypass

漏洞处置建议|Apache Tomcat远程代码执行漏洞处置建议

安全测试 web安全测试 常规安全漏洞 可能存在SQL和JS注入漏洞场景分析。为什么自己没有找到漏洞,哪么可能存在漏洞场景是?SQL注入漏洞修复 JS注入漏洞修复 漏洞存在场景分析和修复示例(代码片段