CTFWeb进阶wp-攻防世界-PHP2
用了御剑和dirsearch扫描了一下发现什么也没扫描到,其它人好像有扫描到的,看了大佬的wp说有index.phps,去查了下。
phps 文件就是 php 的源代码文件,可以当作一个知识点记住,直接访问/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?
意思是admin不能等于id,还要对它解码,解码后的值=id,因此要绕过第一个if。
可以反着来admin编码一次为%61%64%6d%69%6e
执行后发现:
这里注意,要index.php?id而不是index.phps,因为index.phps是源码,要在原来页面上操作。
上面变成了id=admin
这里需要注意的是当我们在浏览器输入admin时,浏览器会对admin进行一次url解码,所以需要对admin进行两次url编码才可
所以对%61%64%6d%69%6e再编码
外链图片转存中…(img-qjYO2iAC-1728618106335)]
得到flag