德克云技术联盟
标题: 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/) |