类型: 安全缺陷
通过用户输入构造服务的重定向路径,攻击者可以下载应用程序的执行文件(包括应用程序的类和jar包)或查看服务器中受保护目录下的文件。
例如:在下面的代码片段中,程序接收不可信赖的数据,并在未验证的情况下,将它的内容作为服务端的转发路径。
String path = request.getParameter("path");
request.getRequestDispatcher(path).forward(request, response);
在攻击者提供的请求参数与某个敏感文件位置相匹配的URL时,攻击者将能够查看该文件内容。例如:使用http://www.yourcorp.com/webApp/logic?returnURL=WEB-INF/applicationContext.xml可以查看应用程序的applicationContext.xml文件。一旦攻击者掌握了applicationContext.xml的信息,便能够定位和下载applicationContext.xml中引用的其他配置文件,甚至类文件或jar包等,获得与应用程序相关的敏感信息。