题目说明:

考察: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}
文章描述了一个PHP代码审计问题,其中要求用户输入qsnctf的base64编码形式cXNuY3Rm来触发成功条件。当输入正确时,会显示Flag,否则提示错误信息。这涉及到网络安全中的基本输入验证和编码解码原理。
1124

被折叠的 条评论
为什么被折叠?



