multi-headach3
直接想到robots.txt,提示很明显了

抓包获得flag

strange_login
直接万能密码:1' or 1=1# 得到flag

黑客小W的故事(1)
开局直接打猎

bp抓包修改进入下一关,记得改下token,不然又返回第一关了

然后就是和这个蘑菇对话了(这太讷了你知道吗)

提下guding

当时做到这真是没招了,根本不知道delete方法,问了下deepsleep
// 1. 发送DELETE请求到特定端点
fetch("https://eci-2zee3y0yhvj7uppsoyyw.cloudeci1.ichunqiu.com:8000/talkToMushroom?shipin=mogubaozi", {
method: "DELETE",
headers: { "Content-Type": "application/x-www-form-urlencoded" },
body: "chongzi=remove" // 明确指定要删除的属性
})
// 2. 服务器接收到请求后:
// - 识别DELETE方法
// - 解析查询参数 shipin=mogubaozi
// - 解析请求体 chongzi=remove
// - 执行删除chongzi属性的操作
// 3. 服务器返回操作结果(通常是HTML页面)
.then(r => r.text())
// 4. 客户端将返回的HTML直接渲染
.then(html => {
document.open();
document.write(html); // 用服务器返回的内容替换当前页面
document.close();
});
把这段话粘贴到控制台就行了

回到bp,修改下token,进入下一关

提示修改UA头,UA头可以标识身份

666,嘲讽这一块
其实这里的招式后面应该要加上/x.0,例如1.0,2.0用来表示不同的版本

依旧带着token前往下一关

宇宙的中心是php

当 intval($answer, 0) 中的第二个参数设为 0 时,表示 PHP 会根据字符串的格式自动检测进制。
intval($answer,0)已经提示进制转换了

传入newstar2025=0x2f即可

我真得控制你了

这里F12被禁用,在浏览器中摸索一番,还有别的打开方式

这里不仅开发者工具被禁用,按钮还有一层保护层,把源代码喂给AI就能得出答案。。。
在控制台中输入
document.getElementById('nextLevelForm').submit(); 提交表单,直接进入下一关
也可以用
document.getElementById('shieldOverlay').remove(); 移除保护层,点击按钮进入下一关

直接猜用户名admin,爆破密码为111111,进入下一关
<?php
error_reporting(0);
function generate_dynamic_flag($secret) {
return getenv("ICQ_FLAG") ?: 'default_flag';
}
if (isset($_GET['newstar'])) {
$input = $_GET['newstar'];
if (is_array($input)) {
die("恭喜掌握新姿势");
}
if (preg_match('/[^\d*\/~()\s]/', $input)) {
die("老套路了,行不行啊");
}
if (preg_match('/^[\d\s]+$/', $input)) {
die("请输入有效的表达式");
}
$test = 0;
try {
@eval("\$test = $input;");
} catch (Error $e) {
die("表达式错误");
}
if ($test == 2025) {
$flag = generate_dynamic_flag($flag_secret);
echo "<div class='success'>拿下flag!</div>";
echo "<div class='flag-container'><div class='flag'>FLAG: {$flag}</div></div>";
} else {
echo "<div class='error'>大哥哥泥把数字算错了: $test ≠ 2025</div>";
}
} else {
?>
<?php } ?>
代码审计
这里只需要用乘法绕过一下即可
?newstar=5*405
值得注意的是:
@eval("\$test = $input;");
这里的$test用了转义符,会将input的值赋给$test,不加的话会是" =$input",会报错
别笑,你也过不了第二关

看下源代码关键是score,最后会检测这个值,修改即可
Week1完结
NewStar CTF 2025 Web题解


1870





