ctf

Pwnable.kr fd

Posted by 跳跳龙 on October 23, 2017

这是一道源码级别的pwn,打开题目,大意如下:

看来是关于linux的文件符的知识。题目上给了youtube的解题方式,这道题目首先需要我们ssh登上远程主机,去搜寻题目。

该目录中包含了几个文件:

flag我们是没有权限的,所以只能观察fd.c了。

到这里,套路就很明显了,想办法进入到if语句内部。 if成立的条件是buf缓冲区的字符串是LETMEWIN。 而这个buf的来源于read函数。 如果fd=0,那么说明这个来源于标准输入 如果fd=1,那么说明这个来源于标准输出 如果fd=2,那么说明这个来源于标准错误输出

很明显,我们选择第一种,这样我们可以通过标准输入的方式给buf赋值 所以参数fd==0 ===> argv[1]=0x1234

就这样拿到了flag