一、过滤空格
过滤了空格。
引入绕过空格过滤的字符:<
、<>、%20(space)、%09(tab)、$IFS$9、 ${IFS}、$IFS等
直接开始解题
这里就用<来绕过。flag还是再界面源码。
二、过滤目录分隔符
题目提示,这次过滤了目录分割符 / ,你能读到 flag 目录下的 flag 文件吗。
这里的话就更简单了,我们可以使用;和cd到目录然后使用cat抓取。也就是用;进行命令拼接。例如:x.x.x.x;cd ../;ls;cat xxx
直接解题,源码可以看到对空格的限制。
这里先ls查看一下文件。看到flag_is_here
那就是要进入这个文件夹才能拿到flag。拼接命令: 127.0.0.1;cd flag_is_here;ls
看到flag文件,继续拼接命令拿到flag:127.0.0.1;cd flag_is_here;cat flag_8995807313759.php
界面源码拿到flag。
三、过滤运算符
直接打开题目,看到源码/(\||\&)/等字符进行了过滤。过滤运算符可以用:%0a
、%0d
、%0D%0A绕过。
开始进行ls测试吧。我不知道这个题什么意思,说是过滤了运算符,我以为会和俄罗斯套娃一样一个目录接一个目录的,结果ls就出来了,那这里的过滤就没意义了啊,直接cat 就出来结果了。