漏洞描述:

错误页面由服务器产生403、404、500,502等错误时,返回详细的错误信息。报错信息中可能会包含服务器代码信息、数据库连接信息、SQL语句、个人信息或者敏感文件的路径,为攻击者收集信息提供了方便。

测试方法:

1.通过目录扫描或手工输入不存在的文件或路径,触发服务器产生404错误并返回404页面;
2.通过目录扫描或手工输入一个无权限查看的文件或路径,触发服务器产生403错误并返回403页面;
3.手工输入不存在的参数或特殊构造的字符串,如单引号,尖括号等,触发服务器产生500错误并返回500页面或异常信息。
4.使用御剑、dirsearch等工具批量产生错误页面,查看结果。

漏洞分析:

攻击者可通过上述几种方式触发Web应用程序报错,提取报错信息泄露的敏感信息,如Web中间件的版本信息、数据库连接信息。

漏洞等级:

【高危】:开启调试模式,泄露大量应用的敏感信息如代码、报错信息等;
【低危】:未开启调试模式,泄露部分中间件版本、少量代码信息等。

修复方案:

1.编码时增加异常处理模块,对错误页面做统一的自定义返回界面,隐藏服务器版本信息;
2.不对外输出程序运行时产生的异常错误信息详情。
3.最好就是禁止返回一切和系统有关信息。