1. 题目描述:
点击题目连接,即可看到网页显示代码,如下所示:
<?php
extract($_GET);
if (!empty($ac))
{
$f = trim(file_get_contents($fn));
if ($ac === $f)
{
echo "<p>This is flag:" ." $flag</p>";
}
else
{
echo "<p>sorry!</p>";
}
}
?>
2. 问题解决
根据代码提示,这里我们构造php伪协议代码,并借助Burpsuite来修改数据包
a.这里需要打开burpsuite进行抓包,将抓取的数据包send to repeater,然后在重发器选项卡中进行编辑
b.只需要在GET/后面添加 ?ac=flag&fn=php://input,然后在数据包末尾添加flag即可
c.最后发送请求,在右侧响应里面即可得到正确的flag