注意:仅用于技术讨论,切勿用于其他用途,一切后果与本人无关!!!
理论知识
2017年9月19日,Apache Tomcat官方确认并修复了两个高危漏洞,漏洞CVE编号:CVE-2017-12615和CVE-2017-12616,其中 远程代码执行漏洞(CVE-2017-12615)
漏洞触发条件:
1.tomcat假设在windows主机上
2.将readonly设置为默认值false(也就开启了http PUT)
复现过程
1.验证漏洞是否存在
我们先抓包,看到这个是GET请求
我们就将GET请求改为PUT请求,传入一个222.jsp的文件,里面的内容为helloword
上传文件可以有一下几种形式,依据不同系统上传(扩展)
shell.jsp%20
shell.jsp::$DATA
shell.jsp/
访问222.jsp页面发现有内容(这里是Hello java的原因是我自己已经上传过一次,由于已经实操过一遍不想再次上传所以就用了第一次实操的222.jsp文件,还请见谅)
验证成功,则当我们上传的内容是jsp的一句话那么我们就可以拿下这台服务器,这里由于是自己购买的服务器就不上传一句话木马了。总体来说这个漏洞复现起来还是比较简单的。
总结:
漏洞产生的原因是由于Tomcat的配置不当,将配置文件conf/web.xml中的readonly值设为false,导致可以使用PUT方法上传文件。
影响版本:Apache Tomcat >=7.0.0,<=7.0.79。
参考文章:
Tomcat代码执行漏洞(CVE-2017-12615)_Li-D的博客-CSDN博客_cve-2017-12615
【vulhub】Tomcat任意文件上传漏洞(CVE-2017-12615)复现_樱浅沐冰的博客-CSDN博客