0

我买了《黑客——剥削的艺术》这本书。它的内容之一是缓冲区溢出。我想我了解它们是如何工作的,但是,我不明白为什么有人会尝试这样做。

假设我有一个不安全的程序。任何黑客都可能很容易导致缓冲区溢出。所以呢?那些黑客不知道它是哪个程序,即使他们知道,他们能做什么?他们没有我的电脑……即使他们不登录也无法启动该程序,对吧?

所以基本上我的问题是,在什么情况下黑客会导致缓冲区溢出?他会怎么做?通过互联网?然后什么?

我希望我在这个问题上处于正确的位置。我真的不明白为什么有这么一个不安全的程序这么重要。

4

1 回答 1

5

假设我有一个不安全的程序。任何黑客都可能很容易导致缓冲区溢出。所以呢?那些黑客不知道它是哪个程序,即使他们知道,他们能做什么?他们没有我的电脑……即使他们不登录也无法启动该程序,对吧?

如果您的计算机正在运行网络可访问的服务,或者它正在从网络读取数据(例如,Web 浏览器),那么攻击者无法物理访问您的计算机这一事实并不重要。它仍然容易受到攻击,并且可以通过让您加载不安全的内容来远程利用。

出于示例的目的,考虑一个 Web 浏览器,它使用固定大小的缓冲区来存储src图像上的属性。(这不是一个真正的漏洞,但让我们假设它存在于本示例的目的。)有人可以通过让您访问包含一些恶意内容的网页来利用您的浏览器:

<img src="example.jpeg?AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA<exploit code here>">

他们甚至可以通过运行包含该代码的广告,或通过在垃圾邮件中发送一堆指向该页面的链接,最终将该代码注入您可能访问的网页中。有各种方法最终触发缓冲区溢出,而不涉及直接使用计算机。

于 2013-09-07T17:03:12.373 回答