远程利用漏洞是如何工作的



恶意黑客是如何利用缓冲区溢出等漏洞获得远程访问的?我一直在关注《剥削的艺术》这本书,但我对某些主题的理解有问题。我假设监听程序唯一可以远程从任何人那里获取的东西就是程序参数?因此,他们希望程序执行的任何远程代码都必须通过自变量放入程序中,然后自变量存在于内存中。那么您必须使程序返回执行到内存中的这一点,对吗?

因此,基本上,如果之前的所有理论都是正确的,我想知道人们是如何在考虑到编译器优化因系统而异(加上地址随机化等)的情况下,几乎每次都能利用漏洞的,如果所有的利用都是用生成的缓冲区调用程序,难道你不能通过用一个由漏洞代码组成的复制/粘贴字符串来调用程序来真正利用程序吗?

如果我们以一般的方式谈论漏洞利用、编码错误或糟糕的控制输入,可能是安全漏洞的来源,你所说的都是真的,但你错过了漏洞的根本原因。

那么您必须让程序返回执行到内存中的这一点,对吗?

这是正常的使用方式,但利用漏洞是以恶意的方式使用程序,而不是像"好"用户那样。请查看这篇维基文章,了解如何利用BOF。c编程的其他精彩解释。

最新更新