攻防世界pwn新手练习(when_did_you_born)

本文介绍了攻防世界pwn新手练习题目when_did_you_born的解题过程。程序开启NX和CANARY保护,通过分析代码发现,当输入特定年份1926时可以获取flag,但由于后续检查导致直接输入无法成功。进一步分析发现可以通过Name变量覆盖Birth变量来实现目标。最终给出简单变量覆盖的exp,并分享了个人博客链接供读者参考。
摘要由CSDN通过智能技术生成

when_did_you_born

ok 多余的话就不继续累赘了昂,直接上手
在这里插入图片描述
程序同上次一样开了NX(堆栈不可执行)和CANNARY(栈保护)。接下来我们首先运行一遍程序

在这里插入图片描述
一个没什么意义的程序…注意他的输入的有两处
ok,接下来我们用IDA直接看代码
在这里插入图片描述
很明显的可以看到当输入的年份为1926时可以得到flag。但是有个问题,在年份输入后它会有个判断当年份为1926时会报错并跳出…
emmm。。。。。。这怎么搞

全文看一下我们可以发现除了存放年份的v5变量以外,他还有一个v4和v6,那么他们是否有什么关联呢,我们双击点进去看一下
在这里插入图片描述ok,似不似很有意思?这意味着什么呢?这意味着我们可以用v4(Name)来覆盖v5(Birth)。
哎&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值