网站异常页面导致服务器路径泄漏

2017-09-23 安全设置 浏览 手机预览
文章来源:http://www.dedecmsok.com/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.dedecmsok.com/html/n151.html
  • 如果你的问题还没有解决,可以点击页面右侧的“ ”,站长收到问题后会尽快回复解决方案到你的邮箱。
  • 创造始于问题,有了问题才会思考,有了思考,才有解决问题的方法,才有找到独立思路的可能。 —— 陶行知