利用ROP-ret2Syscall突破NX保护
大家还记的之前说过的ret2text漏洞吗,那是利用依赖于程序中的存在,执行system(’/bin/sh’)的函数,如果没有这个函数的话,我们怎么办呢?
我们使用ret2shellcode是自定义shellcode代码,但是这中方法的局限性是程序没有开启NX保护,那么如何程序开启了NX保护,这个时候我们就要使用Ret2Syscall大法了!!!!
什么是ROPGadgets?
是在程序中的指令片段,有时我们为了到达我们执行命令的目的,需要多个Gadget来完成我们的功能。Gadget最后一般都有ret,因为要将程序控制权(IP)给下一个Gadret
NX保护开启了
下一步要组合shellcode
系统调用号 eax = 0xb
第一个参数 ebx /bin/sh
第二个参数和第三个参数应该都是 0
ROPgadget --binary ./ret2syscall --only "pop|ret" | grep "eax"
我们选用0x80bb196
这些就是我们要使用的指令片段了
exp如上!
调试!!