- index.phps 一般为网页的源码目录
<?php
if("admin"===$_GET[id]) {
echo("<p>not allowed!</p>");
exit();
}
$_GET[id] = urldecode($_GET[id]);
if($_GET[id] == "admin")
{
echo "<p>Access granted!</p>";
echo "<p>Key: xxxxxxx </p>";
}
?>
Can you anthenticate to this website?
=== 不但比较数值 而且还比较数值的类型
== 代表着数值相等 所以我们只要数值相等 就可以获取到我们所需要的flag
为什么调 ?id=%2561dmin
因为:
%25就成了% =>%61成了a
2. urldecode/urlencode
当传入参数id时,浏览器在后面会对非ASCII码的字符进行一次urlencode
然后在这段代码中运行时,会自动进行一次urldecode
在urldecode()函数中,再一次进行一次解码