首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >利用平台依赖于吗?

利用平台依赖于吗?
EN

Security用户
提问于 2014-04-28 16:03:03
回答 4查看 1.5K关注 0票数 11

通过查看一个最新发布的IE应用综述,我注意到了我所认为的组装。我对开发开发一无所知,但我对组装有一点了解。看到组装代码,这是否意味着在特定的OSs上利用特定的体系结构?

这是否意味着每个操作系统( XP,Vista,7,8 )都需要在程序集中开发一次IE漏洞,根据32/64位加倍,然后根据字节顺序再次加倍?

EN

回答 4

Security用户

回答已采纳

发布于 2014-04-28 16:22:50

是的,大多数漏洞都依赖于平台。有些细节。

例如,如果攻击者以Internet Explorer为目标,那么他就会攻击Windows系统。大多数Windows系统都运行在x86上。此外,在Windows上,默认IE是32位版本,即使操作系统是64位Windows。而且,在组装级,XP、Vista和7非常相似(实际上,它们可以运行相同的应用程序,因此,从应用程序的角度来看,情况不会有太大变化)。

这意味着,一个单独的利用漏洞版本(32位x86,用于"Windows")将已经在绝大多数情况下起作用。勤奋的攻击者也会想到Windows 8的64位版本,或者是运行64位IE的64位前8操作系统的用户(极少数)。非常勤劳的攻击者将试图为表面RT制作ARM版本。

所有这些平台都是小的。IE为其他CPU已经死了相当一段时间(我使用Sparc/Solaris版本早在2000年左右,但它是一个5.x版本)。

重要的一点是攻击者不需要做太多的质量保证。对于攻击者来说,如果他发送给目标的内容不能完美地在其他计算机上正常工作,这并不是一个问题,而这些机器目前并不是他的目标。

票数 15
EN

Security用户

发布于 2014-04-28 18:19:45

攻击依赖于平台,因为每个平台可能有不同的方式来处理内存布局和进程执行。例如,在WinXP上执行一个漏洞要比在其他最新版本的Windows上要容易得多。特别谈到IE漏洞,它更多地涉及到在一些浏览器函数或DLL中查找漏洞,并利用这些漏洞绕过OS安全机制。

票数 3
EN

Security用户

发布于 2014-04-29 13:33:07

利用平台依赖于吗?

是。

这是否意味着每个操作系统( XP,Vista,7,8 )都需要在程序集中开发一次IE漏洞,根据32/64位加倍,然后根据字节顺序再次加倍?

不是的。

程序集的使用并不会使它更依赖于平台。如果用C编写的话,它只依赖于平台(尽管在大多数情况下,C使得针对这些不同的平台变得更加容易)。

您所链接的页面没有指明攻击目标的平台,而只显示x86代码。如果它也针对x64,那仍然只是两个平台: x86 Windows和x64 Windows,即使对于这两个平台,代码也基本上是同构的(类似的)。它有程序集这一事实并不会突然爆发支持运行在同一CPU体系结构上的不同版本的Windows的复杂性。

(为了强调这一点:可移植程序集可以编写和编译一次,以便在同一CPU体系结构上,在所有Windows、OS、Linux和没有操作系统的操作系统下执行相同的机器代码。这样,与其他语言相比,程序集对平台的依赖性更小,因为它需要更少的平台。不过,包含机器代码的标准可执行文件格式仍然是特定于操作系统的;例如,OS将不知道如何加载Windows .exe,即使加载了机器代码也会运行。)

字节顺序不是一个问题,因为x86 & x64纯粹是小endian。

还请注意,您看到的程序集是反汇编的,因此它不一定是用程序集编写的;它几乎可以用任何语言编写。因为这是一种利用,并被设计来做一些奇怪的语言以外的事情,所以它的一些讨厌的部分在程序集中本身是最容易编写的,有些可能是用C编写的,还有一些是用C启动、分解和适应到程序集中的。

所以简单的回答是,在漏洞中支持不同的Windows版本并不像你想象的那么困难。

票数 3
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/56825

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档