【攻防世界pwn-hello_pwn】

该博客主要介绍了CTF挑战攻防世界中的pwn-hello_pwn问题。作者通过使用64位IDA分析代码,揭示了挑战的基本逻辑——读取用户输入并比较特定内存地址的值。成功的关键在于覆盖内存中的dword_60106C,使其等于预期值,从而触发执行cat flag.txt。博客详细描述了如何找到填充数据长度和构造输入脚本的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下载文件后,首先检查保护:

将文件拖入64位ida,查看代码

基本逻辑是:读取一个输入,存入unk_601068,接着比较dword_60106C是否等于一个预期的值,如果相等,执行对应函数,函数内直接执行cat flag.txt

所以思路就是需要覆盖dword_60106C,让其等于预期值,此时我们需要在输入unk_601068时,对dword_60106C进行覆盖,接着我们查看这两个值的存放位置。

发现这两个值之间相隔4个字节,所以需要4个字节的填充数据,接着输入预期值。开始编写脚本

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值