2012-04-24 67 views
1

我了解缓冲区溢出的概念,并承认它可以给我一个外国可执行文件中执行自己的代码的机会。为什么使用缓冲区溢出漏洞?

我的问题是,不能这只是用更简单的方法呢?

说注入一个DLL,DllMain中编写的恶意代码?

或者与拆卸玩,注入汇编代码转换成可执行?

即使您的恶意代码正常工作,您可以通过该行为获得何种损害\利润,您无法通过编辑自己的反汇编来获取该损害?

据我所知,当你手中有一个可执行文件时,你是它的主人,并且可以通过反汇编来添加\ change \删除代码,为什么要尽全力搜索exploit?

谢谢,迈克尔。

回答

4

事情是,你通常不会让受害者运行您的可执行文件。因此,您可以将其变为恶意的事实没有多大价值。

相反,您可以让潜在的受害者使用您的输入:这就是为什么它很有趣。

+0

我可以理解攻击基于应用程序的Web \服务器的利润。但我仍然不明白攻击一个普通的桌面应用程序可以赚取多少利润。假设我购买了“Word 2010”,并在应用程序中发现缓冲区溢出漏洞,我可以通过利用它获得什么? – Michael 2012-04-24 10:03:26

+1

@MichaelEngstler没有。但是如果你攻击已经以比你高的特权运行的应用程序呢? – cnicutar 2012-04-24 10:10:47

+2

假设你发现在Word 2010中,可以从一个特制的Word文档被利用缓冲区溢出。现在,您只需要欺骗某人打开您的“文档”,而不是运行可疑二进制文件。 – 2012-04-29 00:21:21

2

大多数情况下,这是由于用户对可执行文件的持怀疑态度,以及他们不认为PDF文档可能包含病毒。在其他情况下,交付代码的唯一方法是通过利用,例如缓冲区/堆/堆栈溢出。

例如,在Apple iOS设备上,下载可执行代码的唯一方法是通过AppStore。所有以这种方式出现的可执行文件都必须得到Apple的明确批准。在另一方面,如果用户只需访问一个链接到MobileSafari恶意制作的PDF文件,它可以使攻击者能够在设备上执行任意代码。

Comex的JailbreakMe.com网站(包括v2.0(Star)和v3.0(Saffron))都是这种情况。该网站有设备加载一个令人难以置信的错综复杂的PDF文件,最终导致设备越狱。世界上没有机会认同苹果会批准一款可以做同样事情的应用程序。