1.使用ssh fd@pwnable.kr -p2222
登录目标系统,查看当前目录情况。
2.由上图发现目标系统共有fd、fd.c、flag三个文件,而fd用户只有对fd文件有执行权限,对于fd.c文件具有读权限,故查看fd.c文件内容。
3.经过解析上面的C程序,可以初步了解需要满足argc>=2
和LETMEWIN==buf
两个条件才可以触发/bin/cat
flag
命令。由read()特性可知,当fd设置为0时会从标准输入(即屏幕)中读取数据放到缓冲区buf里,而fd为0需要atoi(str)==0x1234
,故只需转换0x1234为十进制即可。