本技能属于安全反模式类内容,严重级别为中等,对应 CWE-209,关注应用在错误消息中泄露内部信息(堆栈跟踪、数据库错误、文件路径、配置细节),使攻击者得以了解架构、定位漏洞并实施定向攻击。
用途与场景:在生成或审查处理错误、异常、生成面向用户报错的代码时使用,也用于登录、查询等可能触发异常或用户枚举的接口。
核心原则:生产环境不向终端用户展示原始异常消息或系统错误,而返回通用提示;详细错误应在内部安全日志中记录。
推荐做法:向用户返回通用错误(如“发生内部服务器错误”);内部记录完整堆栈、请求详情与异常信息;为每个错误生成唯一错误 ID 并包含在用户提示中,便于支持人员定位日志;认证失败统一返回“Invalid credentials”,避免用户枚举;配置自定义 404/500 错误页;确保 Web 服务器与应用框架在生产环境抑制详细错误。
检测方式:检查 try...except 块或全局错误处理器返回给用户的信息;用畸形数据、无效 ID 或不存在资源主动触发错误并观察返回;核对 Apache、Nginx、Spring、Django、Flask 等是否关闭详细报错并启用自定义 500 页。
相关模式:生产环境调试模式反模式、缺少认证反模式。参考资料列出 OWASP Top 10 A02:2025、OWASP GenAI LLM02:2025、OWASP API8:2023、OWASP Error Handling Cheat Sheet、CWE-209、CAPEC-54 及 PortSwigger 信息泄露。具体代码示例与命令暂未在本字段展开。