[GXYCTF 2019]Ping Ping Ping题目解析

本题考察的内容是rce绕过,本事过滤的东西不算多也算是比较好绕过

[GXYCTF 2019]Ping Ping Ping题目解析_第1张图片

基础看到这种先ping一下试试看

输入127.0.0.1看看有啥东西

[GXYCTF 2019]Ping Ping Ping题目解析_第2张图片

有回显说明可以接着往下做

借用RCE漏洞详解及绕过总结(全面)-CSDN博客这个大佬整理的rce绕过

; A;B 无论真假,A与B都执行
& A&B 无论真假,A与B都执行
&& A&&B A为真时才执行B,否则只执行A
| A|B 显示B的执行结果
|| A||B A为假时才执行B,否则只执行A

这时已知127.0.0.1为真就可选取以上123种进行尝试2 3发现都无回显只有1有回显

[GXYCTF 2019]Ping Ping Ping题目解析_第3张图片

[GXYCTF 2019]Ping Ping Ping题目解析_第4张图片

[GXYCTF 2019]Ping Ping Ping题目解析_第5张图片

第一次输入127.0.0.1;cat flag.php试试看

给予回显说fxck your space!

这就说明大概是存在过滤,需要去筛选

观察我们写的代码大概有可能空格就被过滤了,这时候需要找空格的替代品

%20(space)、%09(tab)、$IFS$9、${IFS}$9、 {IFS}、IFS这一些都是

我用了$IFS$9做替换给的提示说

fxck your flag!

说明flag被过滤了

我们看看index.php中有什么东西

回显后查看源代码有以下内容,主要是告诉你哪些被过滤了

也就印证了以上我们的猜想

[GXYCTF 2019]Ping Ping Ping题目解析_第6张图片

最后就只需要将flag用别的方式代替即可

我们常用的方法就是拼接

比如a=fl;b=ag这种

但是一般我们都将后面的内容先写出来也就是b=ag;a=flag这样做的目的是为了绕过字符串匹配

最后的组成就是127.0.0.1;b=ag;a=fl;cat$IFS$9$a$b.php

[GXYCTF 2019]Ping Ping Ping题目解析_第7张图片

你可能感兴趣的:(网络,运维)