ROP简单 ret2syscall

Posted haozhizhi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ROP简单 ret2syscall相关的知识,希望对你有一定的参考价值。

技术图片

开启的NX保护 写shellcode 是不可能的,也没有system等函数

技术图片

存在溢出,算下偏移

技术图片

变量与bp的距离就等于0x60

这个变量的开栈是根据sp开的

他距离sp0x1c

所以偏移就是 bp-sp-0xc1 画个图吧

ESP|-----------------0x1c----------|变量|----------------------------|EBP|

如果就是寻找pop

我理解的这个rop的原理大概就是拼一个 系统调用的栈出来

比如execve(‘/bin/sh’)

就需要把execve  push到eax里面

吧/bin/sh’ push 到ebx 里面

还需要把ecx,edx push进去

然后 比如汇编 pop ebx ; ret  +10   

那么ebx 里面就存着10了

然后在int 0x80  就 会执行寄存器里面的了

以上是关于ROP简单 ret2syscall的主要内容,如果未能解决你的问题,请参考以下文章

Android内核栈溢出与ROP(CVE-2013-2597)

syscall to rop

蒸米ROP_X64学习总结

劫持TLS绕过canary的ROP技巧

No_leak(ret2ROP + 低字节改写到syscall)

No_leak(ret2ROP + 低字节改写到syscall)