pwnable.kr之write up之mistake

CTF

Posted by 0xl00se on May 11, 2017

1.查看mistake.c源代码。

2.自上而下解析程序流程:预打开文件password失败,令fd=0—>read(0,pw_buf, 10)则会从标准输入(即屏幕)中读取10个字符数据放到缓冲区pw_buf里—>再从标准输入屏幕读取10个字符串,并进行xor函数处理—>字符串的每一位与1异或处理—>开始比较pw_buf与pw_buf2的大小,当二者相等时满足条件。

3.开始编写测试脚本。

4.执行脚本,定位于如下位置:

5.Bingo!