类型: 安全缺陷

    若通过用户输入构造服务器端重定向路径,攻击者便能够下载应用程序二进制码(包括应用程序的类或jar文件)或者查看受保护的目录下的任意文件。

    例如:在下面的代码片段中,程序接受不可信赖的数据,并使用其构造服务器端转发所使用的路径。

    1. String path = request.getParameter("path");
    2. return new ModelAndView(path);

    在攻击者提供的请求参数与某个敏感文件位置相匹配的URL时,攻击者将能够查看该文件内容。例如:使用http://www.yourcorp.com/webApp/logic?returnURL=WEB-INF/applicationContext.xml可以查看应用程序的applicationContext.xml文件。一旦攻击者掌握了applicationContext.xml的信息,便能够定位和下载applicationContext.xml中引用的其他配置文件,甚至类文件或jar包等,获得与应用程序相关的敏感信息。