攻防世界 Web_php_include 解题思路

进入题目

攻防世界 Web_php_include 解题思路_第1张图片

一串简短的PHP代码,这里对page这个参数用str_replace函数进行了过滤,str_replace函数的作用是匹配前面一段字符,匹配到的话就替换成后面一段,所以这里的代码意思就是,假如我们传入的page参数包含php://就会被替换成空字符。并且判断page里面文件是否存在,存在则包含文件。

当然这题有多种解法,我这里就讲述三种。

第一种

绕过str_replace函数,对渗透测试有点了解的都知道str_replace这个函数及其不安全,可以利用大小写绕过,双写绕过等,这里我用大小写绕过演示给大家看看。

攻防世界 Web_php_include 解题思路_第2张图片

 

攻防世界 Web_php_include 解题思路_第3张图片

即可得到flag。

第二种

攻防世界 Web_php_include 解题思路_第4张图片

这里还传入了一个hello,好奇心让我试了试。

攻防世界 Web_php_include 解题思路_第5张图片

我发现这个hello是有回显的,所以说不定这里可以命令执行然后回显到浏览器。

然后我们构造payload,首先要构造hello这个参数我们必须先让我们传进的page参数为真才行。

攻防世界 Web_php_include 解题思路_第6张图片

让page参数用http伪协议访问127.0.0.1这个条件肯定为真

攻防世界 Web_php_include 解题思路_第7张图片

第三种

用御剑扫描后台,会扫到phpmyadmin

攻防世界 Web_php_include 解题思路_第8张图片

试了试弱口令,账号root密码空还真登入进去了

攻防世界 Web_php_include 解题思路_第9张图片

接下来就是写入一句话了,这个大家自行百度了。

你可能感兴趣的:(攻防世界,web篇)