难度系数: 1星
题目来源: 暂无
题目描述:暂无
第一步:分析
根据题目,没有给出任何信息,直接是一个场景,点击打开场景页面我们发现是一串文字:Can you anthenticate to this website?
第二步:实操
首先想到尝试index.php,未果。再尝试index.phps,成功发现了代码泄露。
<?php if("admin"===$_GET[id]) { echo("not allowed!
"); exit(); } $_GET[id] = urldecode($_GET[id]); if($_GET[id] == "admin") { echo "Access granted!
"; echo "Key: xxxxxxx
"; } ?>通过代码分析我们应该很清晰的知道需要使得"admin"===
G
E
T
[
i
d
]
不
成
立
,
并
且
_GET[id]不成立,并且
GET[id]不成立,并且_GET[id] == "admin"成立,通过语句
G
E
T
[
i
d
]
=
u
r
l
d
e
c
o
d
e
(
_GET[id] = urldecode(
GET[id]=urldecode(_GET[id]);我们知道代码经过了url编码转换,所以这里应该是突破口。
下面贴上URL编码表:
查表得知d的url编码是%64,尝试,未果。所以应该进行两次装换第一次转换之后的编码应该编程%64找到这个编码,经过测试构造,发现%2564成功找到(注意%的url编码为%25)。
第三步:答案
至此flag为:cyberpeace{565b59ecd7b747cc76d72562c9c353a4}