为什么要隐藏网络上的例外?

时间:2010-10-17 11:19:55

标签: .net

是否有真正的理由隐藏网页上的例外情况?我可以理解隐藏到不吓唬用户,但在我正在开发的网站上并不关心吓唬用户。我想如果你有SQL注入漏洞隐藏异常并不重要。

那么,有什么理由可以隐藏用户在网页上的例外情况?

3 个答案:

答案 0 :(得分:7)

  

我想如果你有SQL注入漏洞隐藏异常并不重要。

哦,但是会的。它可以区分被发现和利用的洞,并且 not 被发现和利用:)

通过默默无闻的安全措施,因为唯一的安全措施是危险的。但是,作为附加之一是一件好事。

例外和错误消息

  • 可以向攻击者提供有关如何构建代码的信息(例如,使用的库函数 - 如果其中一个可以被利用则是灾难性的)

  • 可以向攻击者提供有关基础系统的一般信息(OS /平台,服务器,使用的框架,版本......)

  • 可以向攻击者提供有关网站路径结构和文件位置的信息。虽然本身并不危险,但在利用directory traversal安全漏洞时,这是有价值的信息。

这是向任何时候公开隐藏此信息的充分理由。

答案 1 :(得分:6)

是。异常和错误消息通常包含攻击者可能利用的额外信息,例如:

  • 表/列名称
  • 连接字符串
  • 文件的名称/位置
  • 方法签名和callstack信息
  • 操作系统,Service Pack信息(如果您想利用未修补的漏洞,则很有价值)

答案 2 :(得分:1)

错误消息可能泄露攻击者可以使用的信息。考虑ASP.NET中最近的漏洞 - MS10-070 - 不同的HTTP错误代码提供了可用于确定正在使用的加密密钥的信息。一旦了解了这些,攻击者就可以修改ASP.NET运行时认为不可更改的数据,并访问应该无法访问的数据。

如果HTTP状态代码足以提供漏洞,那么请考虑异常提供的更丰富的信息。