题目说明:
考察:PHP代码审计
有一个输入框,随便输入点什么。
得到
分析该源码,我们需要传入字符串”qsnctf” 的 base64 加密字符串
<?php
print("<h1>欢迎来到CheckMe-01,快来寻找你的Flag并提交吧。</h1>");
?>
<form action="index.php" method="POST">
your key: <input type="text" name="key" />
<input type="submit" value="Submit" />
</form>
<?php
if(!empty($_POST['key'])){ //判断POST的参数key是否存在
$keys = $_POST['key']; //赋值
show_source("index.php");
$keys = base64_decode(urldecode($keys)); //将keys的值先url解码 然后base64解码
if(strlen($keys)==6){ //判断长度是否为6
if($keys=="qsnctf"){ //判断值是否等于qsnctf
print("<p>You win!</p>");
include("flag.php");
print($flag);
}
}
else{
print("末心:大漏特漏!此乃九年义务教育漏网之鱼。");
}
}
?>
“qsnctf” base64编码得到 “cXNuY3Rm”
回到输入框输入cXNuY3Rm,
得到Flag。
qsnctf{0d2a76fe-e4cc-4682-ac7e-bb39f5d5c4ef}