面向返回的编程编译器

| 我试图从较低的层次上更好地了解我的计算机,除了编写堆栈缓冲区溢出漏洞利用方法之外,还有什么更好的方法?我最近遇到了ROP。我读了http://cseweb.ucsd.edu/~hovav/talks/blackhat08.html,发现其中有一个用于ROB代码的编译器。 这种用于linux(64位)的编译器的名称是什么? 谢谢, 康斯坦丁     
已邀请:
我是UCSD上这个项目的研究人员之一,并编写了C到利用字符串的编译器部分。您所指的特定工作是SPARC特定的(并进一步针对已知的Solaris libc二进制文件进行了定制)。这些论文实际上更好地概述了我们所做的工作(以及概括和编程方法): 我们的原始CCS 2008论文 更新的通用手稿 对于Linux + x64,自从我们进行研究以来,已经有许多创建ROP攻击的工具,您通常可以通过搜索Web来找到它们。与我们(现在相对较旧)的研究专用工具相比,大多数工具都更加有用和用户友好。 让我提出一个建议,如果您想了解Linux系统的较低层并且还没有这样做,请考虑采用“阶梯式”方法,并采用以下方法: \“ Old-School \”堆栈注入:在您的设备上禁用不可执行的堆栈保护,仅注入外壳程序代码。这里有很多资源-从Aleph One的开创性著作“为娱乐和利润砸碎堆栈”(可在网上广泛获得)。 返回到Libc:重新启用不可执行的堆栈,并尝试创建自定义有效负载以跳入libc(可能是execve)并尝试获取shell。 一旦掌握了这些知识,那么进入ROP就会容易得多。如果您已经在那儿,那就给您供电!     

要回复问题请先登录注册