7

在我读过的一些书中,有人说隐藏黄屏死机是件好事(显然),但这不仅是因为它对用户来说非常不正式,而且还因为黑客可以使用黑客入侵您的网站的信息。

我的问题是这个。黑客如何使用这些信息?.NET调用栈基本操作的调用栈如何帮助黑客?

我附上了我在很久以前创建的一个网站上遇到的黄色死屏,它激发了我的兴趣。(错误是尝试将查询字符串参数转换为 int 时失败。是的,我知道它的错误代码,我多年前写的;)

在此处输入图像描述

4

4 回答 4

4

如果您正在编写安全代码,YSOD 不应该为黑客提供破解您的应用程序的能力。但是,如果您的代码不安全,那么 YSOD 可以为攻击者提供必要的信息,以允许他们进行攻击。

例如,假设您编写了自己的论坛软件。当用户写帖子以防止 XSS 攻击等时,您已经进行了大量验证,但是您的验证是错误的。如果黑客在发帖时可以调出 YSOD,则显示的堆栈跟踪可能会向他们显示验证中的漏洞,并利用它们来创建 XSS 攻击或获取成员详细信息或密码等。

YSOD 本身并没有威胁,但对于黑客来说,它可能是一种非常有用的方式来发现应用程序安全性中的缺陷。

于 2011-03-26T15:53:55.827 回答
2

有几种不同的方式可能会危及您的应用程序……但其中大多数只会使攻击更容易……漏洞可能已经存在。例如,您可以轻松地显示硬编码的密码或盐,或者显示一行代码接受用户输入而无需正确消毒。

于 2011-03-26T15:40:50.087 回答
1

正如其他人所提到的,YSOD 本身不一定总是对黑客有帮助,但在您的第 13 行假设:在上面的代码中,您有硬编码的连接字符串或内联 sql 查询。

我现在从您的 YSOD 中知道,您查询中的“id”实际上是 artId,而不是任何可能对黑客有用的随机 id 编号。

此外,如果黑客能够获得不止一个不同的 YSOD,它可能会泄露更多的整体信息,并且足以损坏您的应用程序。

有时,MS 报告了一个与 ASP.NET 相关的安全漏洞,其中提供的解决方法是启用 CustomErrors 并向用户隐藏错误代码和任何特定错误相关的详细信息。

于 2011-03-26T22:08:53.717 回答
0

还没有提到的一件事是,攻击者现在有充分的理由相信您正在使用 MySql 数据库(否​​则他们不太可能猜测 ASP.NET 应用程序),从而帮助他们缩小潜在攻击的范围。让他们的工作变得比必须的更容易是没有意义的。

于 2011-03-26T23:10:43.917 回答