【发布时间】:2012-08-03 22:38:04
【问题描述】:
有时我在我的一个网站上遇到了一个数据库错误,该错误只是将自身抛出到一个公开可见的页面上。我赶紧把它清理干净,当它不属于时修复错误,并在它属于时创建自定义错误。我被无数次告知不要让用户查看错误消息并尽量避免泄露系统规格。不过,我似乎忘记了原因。为什么这如此重要?
【问题讨论】:
标签: user-interface error-handling security code-access-security
有时我在我的一个网站上遇到了一个数据库错误,该错误只是将自身抛出到一个公开可见的页面上。我赶紧把它清理干净,当它不属于时修复错误,并在它属于时创建自定义错误。我被无数次告知不要让用户查看错误消息并尽量避免泄露系统规格。不过,我似乎忘记了原因。为什么这如此重要?
【问题讨论】:
标签: user-interface error-handling security code-access-security
因为 baddee 对您的系统架构了解得越多,他们就越容易定制攻击以获取对其的访问权限、将其关闭等。
【讨论】:
简短的回答是,攻击者拥有的信息越多,他们就越有可能以某种方式破坏网站。
例如,如果数据库错误中包含表名或列名,则攻击者现在知道在 SQL 注入攻击中要尝试什么。
https://www.owasp.org/index.php/Top_10_2007-Information_Leakage_and_Improper_Error_Handling
Owasp 对这个问题有很好的处理。上面的链接是旧的,但仍然有效。总的来说,我推荐 OWASP 作为一个很好的资源,不仅可以了解什么是好的安全实践,还可以了解它们为什么好的原因。
【讨论】:
但主要原因是黑客获取了您系统的知识。
【讨论】:
"something bad happend ... hi hi... please notify me." 的消息做一张有趣的脸比所有这些错误更友好。