文章来源:http://www.imtr.cn/html/n151.html
漏洞名称:网站异常页面导致服务器路径泄漏
危险等级:★★★☆☆(中危)
披露时间:未知
漏洞描述:由于异常页面(如404、500或其他错误页面),在报错信息中包含了你的服务器上的物理路径。本地路径泄漏漏洞允许恶意攻击者获取服务器上的WEB根目录的全路径(通常在出错信息中),通过此漏洞可以推断出其它资源在服务器上的本地路径,配合其它漏洞,恶意攻击者就有可能实施进一步的攻击。
解决方案:
1、如果WEB应用程序自带错误处理/管理系统,请确保功能开启;否则按语言、环境,分别进行处理。
2、如果是PHP应用程序/Apache服务器,可以通过修改php脚本、配置php.ini以及httpd.conf中的配置项来禁止显示错误信息;
php.ini中的配置行: display_errors = off
httpd.conf/apache2.conf中的配置行: php_flag display_errors off
3、有些虚拟主机不支持修改配置文件,那么我们可以修改php脚本文件,找到漏洞所在的php,在第一行增加代码: ini_set('display_errors', false);
4、如果是IIS环境,可以在网站根目录新建web.config文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <httpErrors errorMode="DetailedLocalOnly"><!-- 网页状态规则 --> <remove statusCode="500" subStatusCode="-1" /><!-- 500状态 --> <remove statusCode="404" subStatusCode="-1" /><!-- 404状态 --> <error statusCode="404" prefixLanguageFilePath="" path="/404/404.htm" responseMode="ExecuteURL" /><!-- 404显示页面 --> <error statusCode="500" prefixLanguageFilePath="" path="/500/500.htm" responseMode="ExecuteURL" /><!-- 500显示页面 --> </httpErrors> </system.webServer> </configuration> <!-- 提示:错误页的默认页面只能写相对链接 -->
如果已经存在web.config,那么只需要在<system.webServer> </system.webServer>标签中添加以下代码即可;
<httpErrors errorMode="DetailedLocalOnly"><!-- 网页状态规则 --> <remove statusCode="500" subStatusCode="-1" /><!-- 500状态 --> <remove statusCode="404" subStatusCode="-1" /><!-- 404状态 --> <error statusCode="404" prefixLanguageFilePath="" path="/404/404.htm" responseMode="ExecuteURL" /><!-- 404显示 --> <error statusCode="500" prefixLanguageFilePath="" path="/500/500.htm" responseMode="ExecuteURL" /><!-- 500显示 --> </httpErrors>
解析:<httpErrors errorMode="DetailedLocalOnly">中的红色部分表示禁止显示详细错误,替换为Detailed则表示显示详细错误。
原文地址:http://www.imtr.cn/html/n151.html