德克云技术联盟

标题: Web系统中页面异常导致路径和源码泄漏的解决方案 [打印本页]

作者: 孙振强    时间: 2014-7-16 23:21
标题: Web系统中页面异常导致路径和源码泄漏的解决方案




1. 漏洞描述:

在Web系统中,由于页面异常(如404错误、代码运行错误、数据库查询错误),在返回的结果中,报错信息中可能泄漏了服务器路径、服务器配置、程序代码、SQL语句、机密数据等信息。


2. 漏洞危害:


恶意攻击者可以通过此漏洞泄漏的信息,获取一些机密信息,还可以配合其它漏洞对Web系统实施进一步的攻击。


3. 解决方案:



如果Web系统自带错误处理机制,请确保功能已开启,否则按语言、环境,分别进行处理,从而禁止显示错误信息,还可以使用自定义错误页面对用户进行友好提示。

3.1. ASPX应用程序




3.1.1. 修改web.config文件。在网站根目录新建或修改web.config文件,在system.web节点之间添加customErrors。


<system.web>
    <customErrors mode="RemoteOnly" defaultRedirect="Error.aspx">
        <error statusCode="404" redirect="自定义错误页名.htm"/>
    </customErrors>
    .....
</system.web>


3.1.2. 修改IIS配置

3.1.2.1. 在“Internet信息服务”中选中网站,右键“属性”打开网站属性对话框,如图:


3.1.2.2. 打开属性对话框后,在属性对话框中选择“自定义错误”,如图:

   

在上图我们看到了所有的错误列表,我们可以一一对他们进行自定义设置,下面是以设置404错误页为例演示。


3.1.2.3. 我们选中需要自定义设置错误页的列表,双击或点击下面的“编辑”,打开“编辑自定义错误属性”对话框,如下图:

   


3.1.2.4. 打开“编辑自定义错误属性”对话框后,我们可以看到,在“消息类型”里有“文件”和“URL”两种可供选择。

   

         

说明:当类型选择“文件时”,可用“浏览”的方式选择服务器上的错误页为自定义错误页;当选择“URL”时需要填写错误页所在服务器的相对路径,如上图所示。

3.1.2.5. 设置好后直接点“确定”保存即可生效。



3.2.PHP应用程序




3.2.1. 修改php.ini中的配置行: display_errors = off。


3.2.2. 修改php脚本,增加代码行: ini_set('display_errors', false)。


3.1.3. 如果是Apache服务器,修改httpd.conf中的配置行: php_flag display_errors off。









欢迎光临 德克云技术联盟 (http://www.decoclouds.com/)