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

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

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

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

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

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

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

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

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

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

被折叠的 条评论
为什么被折叠?