pwnable.kr之write up之collision

CTF

Posted by 0xl00se on April 27, 2017

1.使用ssh col@pwnable.kr -p2222登录目标系统,查看当前目录情况。

2.由上图发现目标系统共有col、col.c、flag三个文件,而col_pwn用户只有对col文件有执行权限,对于col.c文件具有读权限,故查看col.c文件核心代码内容。

3.经过代码分析,可初步需要满足argc>=2、argv[1]字符长度等于20、0x21DD09EC等于check_password(argv[1])才可以调用/bin/cat flagcheck_password()函数目的在于输入一个20字节的字符分割为5个整数求和并且等于0x21DD09EC的十进制。hex(0x21DD09EC / 5) = 0x6C5CEC8=》hex((0x21DD09EC-0x6C5CEC8)/4)=0x6C5CEC9=》print '\xC9\xCE\xC5\x06' * 4 + '\xC8\xCE\xC5\x06',最终结果如下。