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
flag
。check_password()
函数目的在于输入一个20字节的字符分割为5个整数求和并且等于0x21DD09EC
的十进制。hex(0x21DD09EC
/ 5) = 0x6C5CEC8=》hex((0x21DD09EC-0x6C5CEC8)/4)=0x6C5CEC9=》print
'\xC9\xCE\xC5\x06' * 4 + '\xC8\xCE\xC5\x06'
,最终结果如下。