ROP



ROP的全称为Return-oriented programming(返回导向式编程),这是一种高级的内存攻击技术可以用来绕过现代操作系统的各种通用防御(NX,ASLR)。
ROP是一种攻击技术,其中攻击者使用堆栈的控制来在现有程序代码中的子程序中的返回指令之前,立即间接地执行精心挑选的指令或机器指令组。
因为所有执行的指令来自原始程序内的可执行存储器区域,所以这避免了直接代码注入的麻烦,并绕过了用来阻止来自用户控制的存储器的指令的执行的大多数安全措施。
因此,ROP技术是可以用来绕过现有的程序内部内存的保护机制的。

Continue reading

Strip

最近在学习ptmalloc,对于malloc中许多需要注意深入的地方,要用到gdb调试,但是gdb在调试进入到glibc so库中就"瞎"掉了
我废了挺大的力气配置gdb,让它能够源码级别调试malloc,但是对于libc.so.dbg是什么,为什么需要它却不太理解,其实这就涉及到了Strip。

Continue reading