1. 首先下载文件,得到一个没有后缀名的pwn1文件。拿到ubuntu分别用file和checksec查看。
2. 我们可以看到这是一个64位ELF文件,动态链接,符号表未被剥离,存在canary和NX保护。
3. 接着拿到ida上去分析一下,先来看一下main函数,这里有个special-mode(特殊模式)。
4. 进入special-mode的方法就是进行字符串比对,如果输入是$0就会进入,否则就Error。
5. 进入special-mode之后又出现一个新的函数parse_special_command,我们跟进看看。
6. 这里出现了两个字符串,cat${IFS}flag和cat flag,区别是空格,难免让人联想到验证绕过。
7. 那会不会是这样呢?把这段代码拿到AI上看看,结果确实如此。截图如下所示:
8. 换言之,只有输入cat${IFS}flag才能拿到flag,接下来编写一个连接交互服务器的py脚本。
9. 运行脚本,依次输入$0和cat${IFS}flag,最终得到结果:flag{879d298e-3ef3-4ba7-967b-6458e5bf85ee}
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |