以此博客强化对栈迁移的理解
题目:[NSSRound#14 Basic]rbp


观察IDA反汇编,只发现了一处溢出函数,且只溢出了16字节,明显的栈迁移.
再使用seccomp-tools检查沙箱保护,发现对execve调用进行了过滤,所以考虑进行orw.

在gdb中调试,寻找可读可写的bss段,因为我们要在bss段上布置rop链

发现自0x404000到0x405000段位于data,且可读可写,故将bss选在0x404800
开始payload的书写,本次的payload分为三段,分别起到:劫持rbp到bss,泄露got地址,进行orw
Payload1:
payload=b'a'*0x210+p64(bss)+p64(0x40127F)
io.sendafter(b"try it\n",payload)
io.recvline()
b'a'*0x210进行填充,bs

最低0.47元/天 解锁文章
3204

被折叠的 条评论
为什么被折叠?



