漏洞描述
当 Tomcat运⾏在Windows操作系统时,且启⽤了HTTP PUT请求⽅法(例如,将 readonly初始化参数由默认值设置为false),攻击者将有可能可通过精⼼构造的攻击请求数据包向服务器上传包含任意代 的 JSP ⽂件,JSP⽂件中的恶意代码将能被服务器执⾏。导致服务器上的数据泄露或获取服务器权限。
漏洞原理
当在Tomcat的conf(配置⽬录下)/web.xml配置⽂件中添加readonly设置为false时,将导致该漏洞产 ⽣,(需要允许put请求) , 攻击者可以利⽤PUT⽅法通过精⼼构造的数据包向存在漏洞的服务器⾥⾯上 传 jsp⼀句话⽂件,从⽽造成远程命令执⾏,getshell等。
影响范围
Apache Tomcat 7.0.0 - 7.0.79
Apache Tomcat 8.5.19
环境搭建
cd vulhub-master/tomcat/CVE-2017-12615
docker-compose up -d
漏洞复现
1.首页抓包,修改为 PUT 方式提交 ,将jsp木马写到数据包中
Tomcat允许适⽤put⽅法上传任意⽂件类型,但不允许jsp后缀⽂件上传,因此我们需要配合 windows的
解析漏洞:
PUT /shell.jsp%20
PUT /shell.jsp::$DATA
PUT /shell.jsp/