[问题] 一题CTF

楼主: final01 (牛顿运动定律)   2018-12-09 18:04:20
最近再看inndy的rop2可是看了writeup还是不懂为何这样写
题目是rop2
http://www.carlstar.club/2018/10/24/hackme.inndy.tw-pwn/
关键payload是这样
payload = fit({0xc +
0x4:[p32(addr_sys),p32(addr_gadget),p32(3),p32(0),p32(addr_bss),p32(30)]})
想请问为何syscall后面可以摆一个rop gadget??
我看syscall不都是用register来当参数,为何stack这样摆可以work??
感谢各位!
作者: b0920075 (Void)   2018-12-10 07:36:00
我没做过瞎猜一下,syscall这个function虽然是用来callsyscall,但他是libc function,那参数传递跟一般function一样靠stack在底层才把参数放到register,所以可以这样写吧
作者: Inndy (Inndy)   2017-05-09 12:19:00
这里的syscall是wrapper,glibc会放好register再syscall

Links booklink

Contact Us: admin [ a t ] ucptt.com