<?php
if(eregi("hackerDJ",$_GET[id])) {
echo("<p>not allowed!</p>");
exit();
}
$_GET[id] = urldecode($_GET[id]);
if($_GET[id] == "hackerDJ")
{
echo "<p>Access granted!</p>";
echo "<p>flag: *****************} </p>";
}
?>
<br><br>
Can you authenticate to this website?
我们需要开始输入不为hackDJ,之后urldecode时解码为hackDJ。
这道题有个坑就是,浏览器在接受到我们的输入后,会自动帮我们进行一次urldecode,所以这里需要两次编码。
试了一下,就算用burpsuite抓包修改编码值,依然上传到浏览器会自动编码,所以抓包依然需要两次编码。