为什么有人会使用缓冲区溢出?

Dav*_*log 0 c buffer-overflow

我买了"黑客 - 剥削艺术"这本书.其中一个内容是缓冲区溢出.我想我明白他们是如何工作的,但是,我不明白为什么有人会这样做.

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

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

我希望我能在这个问题上找到合适的位置.我真的不明白为什么这样一个不安全的程序是如此重要.

dus*_*uff 5

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

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

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

<img src="example.jpeg?AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA<exploit code here>">
Run Code Online (Sandbox Code Playgroud)

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