首页/安全/渗透测试与安全评估速查/报错页面信息泄露检查
常见漏洞验证121 条

报错页面信息泄露检查

触发异常观察页面是否暴露堆栈、SQL、框架与路径信息;生产环境应返回统一错误页并记录到服务端日志。

报错页面为什么值得检查

开发调试时留下的详细错误页会把堆栈、SQL 片段、绝对路径、框架版本直接渲染到浏览器里。这些信息对攻击者的价值很高:路径能确认部署结构,SQL 片段能推断表名与字段,框架版本能直接对应到已知问题,是提权链路的常见跳板。检查方法是向参数提交非法取值触发异常,观察返回体里是否出现上述内容。生产环境的正确表现是统一错误页加服务端日志记录。

基本信息

触发方式类型错误、边界值、结构替换、异常长度输入
观察点堆栈、SQL 片段、绝对路径、框架与中间件版本
环境差异开发模式开启详细报错,生产模式返回统一页面
修复方向统一错误页 + 服务端日志 + 关闭调试开关
风险等级信息泄露本身低危,但显著缩短后续利用路径

典型使用场景

  • Web 信息泄露类检查的常规项,成本低覆盖广
  • 上线前评审:确认生产环境已关闭调试与详细报错
  • 排查新旧版本差异:某个路由改造后是否重新开启了调试模式
  • 为报文结论补充依据:说明后续攻击路径为何成立
  • 结合目录与备份文件检查,评估信息暴露的整体程度

触发思路

触发思路
# 类型错误:数字参数传字母,观察是否抛出类型异常
# 边界取值:超大数、负数、空值与超长字符串
# 结构替换:数组或对象替换标量,触发解析异常
curl -s 'https://example.com/item?id=abc' | head -40
curl -s 'https://example.com/item?id[]=1' | head -40
# 只记录响应特征(状态码 + 页面类型 + 泄露类别),不复制整段堆栈

泄露内容与影响

泄露内容影响建议
调用堆栈暴露类名与调用链,指向内部结构关闭调试开关,统一错误页
SQL 片段暴露表名、字段与技术栈捕获异常后统一处理并记录到服务端日志
绝对路径暴露部署目录与操作系统类型错误页不回显路径,日志侧脱敏
框架与组件版本可直接对应公开问题清单隐藏版本信息并升级到受支持版本
报错信息本身可能直接暴露配置文件路径与数据库结构,价值在于缩短后续利用的路径,因此常与其他问题组合定级。
触发报错会写入业务日志:验证时控制请求量,并提前告知客户日志噪音与告警的可能来源,避免被误判为入侵事件。

易错点

  • 只看状态码不看响应体:详细报错常在 200 响应里返回,只看 500 会漏掉大半问题
  • 触发报错时未评估日志与告警噪音:大量异常请求会在客户告警系统里形成误报
  • 把报错页面截图全文写进报告:堆栈里可能含真实数据,报告只写泄露类型与样例片段
  • 只在开发环境验证:生产环境的调试开关状态不通过开发环境推断,必须实测

数据来源与参考

  • OWASP WSTG WSTG-ERRH-01
  • CWE-209(Error Message Info Leak)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌