题目类型+题目名称:Web——Web3-Agent插件管理系统 解题思路 1. 信息收集与审计 打开题目环境后,前端展示一个 Agent 插件管理面板,核心功能是插件包上传与校验。下载前端资源及服务端 JAR 包 `agent-core.jar`,对其进行逆向分析。 反编译 `agent-core.jar` 后,在 `application.yml` 配置文件中发现 HMAC 签名密钥: security: hmac: secret: k3y_5A62_X86 同时审计插件上传流程,梳理出关键处理链路: 用户上传插件压缩包 → 解压提取 `manifest.json` 与 `metadata.ser` `metadata.ser`...
题目是一个 “JSON 美化 + 预览” 小工具,首页提交数据到 /api/beautify.php,返回一个临时预览文件名。最先可以用最简单的输入验证功能: {"data":"{\"a\":1}","preview_type":"raw"} 返回类似: { "success": true, "preview_id": "preview_xxxxxxxx", "preview_file": "preview_xxxxxxxx.tmp" } 然后访问: /api/preview.php?file=preview_xxxxxxxx.tmp 可以读到刚才写入的内容,说明这里存在一个“读取临时预览文件”的接口。进一步访问...
========================= Web - Oracle’s Whisper 解题思路 1. 信息收集 访问题目地址,看到一个简单的 HTML 页面: <h1>// ORACLE’S WHISPER //</h1> <p>Speak to the oracle in her own tongue.</p> <p>API surfaces: <code>/graphql</code>, <code>/login</code>, <code>/api/profile</code></p> <!– TODO: review filter parsing before public release –> HTML 注释提...
Web + ShadowLedger 解题思路: 这题最开始直接访问 http://39.105.213.28:12606/ 会被误导,真正的应用是挂在同一端口下的虚拟主机里。访问时需要带上正确的 Host: campus-stat.example.com,这样首页才会进入真正的 ShadowLedger 系统。 进入系统后可以看到 /login、/register、/dashboard,同时前端脚本 /static/app.js 暴露了主要接口:/api/register、/api/login、/api/template/preview、/api/user/session。 注册并登录一个普通审计员账号后,请求...
Web + 值班邮件台 解题思路: 题目首页是一个“值班邮件台”系统,访问后可以在响应中发现两个与身份相关的 Cookie,分别是 `mail_user=guest` 和 `mail_role=user`。同时页面内容还提示前端继续沿用浏览器侧的旧标记做身份切换联调,这说明后台很可能直接信任客户端传入的身份字段,没有做真正的服务端鉴权绑定。因此首先尝试伪造 Cookie,将其修改为 `mail_user=admin; mail_role=admin`,然后访问 `/admin.php`,成功进入后台预览面板。 进入后台后,页面给出了一个联调说明文件下载地址...
Web-八卦星图馆 解题思路 ### 一、题目分析 打开目标站点 `http://39.105.213.28:14509`,浏览首页可以发现几个功能模块入口: | 路径 | 功能 | |——|——| | `/qian` | 登录模块 | | `/dui` | 个人信息更新 | | `/li` | 头香令牌抢夺 | | `/zhen` | 签号预测 | 仔细阅读每个页面的提示文案: `/qian` 页面暗示使用 MongoDB 数据库,并举例了 `$ne`、`$regex` 等运算符——这是经典的 NoSQL 注入入口。 `/dui` 页面提示 “JSON 不止这两个字段”,暗示后端存在字段白名单缺失(Mass...
这题的核心是两段“夜班遗留逻辑”叠起来用: .git 泄露拿源码历史 历史源码里同时泄露了 JWT 调试密钥和内部接口签名密钥 入口点 访问首页后,先看前端脚本: GET /static/main.js 返回: document.addEventListener("DOMContentLoaded", () => { window.__buildTrace = "/.git/HEAD"; }); 这基本就是明示去读 .git。 继续访问: GET /.git/HEAD GET /.git/refs/heads/master 拿到分支头提交哈希,然后递归拉取 Git object,还原仓库历史。 还原出的关键信息 当前版本...
Web + 数字古墓 解题思路: 这道题分为两个阶段,两个页面都会直接显示 PHP 源码,因此整体思路就是审计代码并构造对应利用。第一阶段入口是 `/rune_trial.php`,第二阶段入口是 `/mechanism_chamber.php`,最终需要先在第一阶段拿到第二阶段要读取的文件名,再在第二阶段通过反序列化利用链读出 flag。 第一阶段的核心在于服务端会先将对象序列化,再对序列化结果执行字符串替换,最后再反序列化。函数中会把 `amgoinvc` 替换成更短的 `iscc`,这就导致序列化串中的长度信息与真实内容不一致,从而形成典型的 PHP 反序列化字符串逃逸。构造时将多个 `amgoinvc` 放入参数 `d` 中...
源码泄露了一个入口 http://39.105.213.28:12601/?source=1 拿到关键代码后,可知有三层校验。 第一层: $filtered = str_replace("key", "", $_GET['step1']); if ($filtered === "key") 这里利用重叠绕过,构造: step1=kkeyey 因为: str_replace("key", "", "kkeyey") === "key" 第二层: $a = $_POST['a'] ?? null; $obj_a = (object)$a; $user_key = $obj_a->key; if (isset($user_key) &&...
Web + 灵感笔记 解题思路: 题目是一个 Flask 云笔记应用,所有数据都存储在 Session 中,没有使用数据库。首先在前端 `main.js` 中发现了两个关键接口,一个是 `POST /api/v1/project/detail`,可通过 `project_id` 获取项目详情;另一个是 `GET /api/admin/hint`,只有管理员可以访问。继续分析后确认 Session 中保存了用户信息、笔记内容、日志、注册用户等数据,说明整个系统高度依赖服务端 Session 逻辑。 接着尝试登录后台,发现管理员存在弱口令 `admin/admin`,成功登录后访问 `/api/admin/hint`,得到隐藏接口...
========================= Web + 社团活动统计站 解题思路: 拿到题目后先访问首页,首页有明显的前端干扰,但直接看源码和响应即可。页面底部提示“访问核心功能需:用户代理+官方来源页+校园令牌”。继续访问 robots.txt,发现放行了 /static/hint/tech_stack.txt。读取这个文件后得到两条关键信息:一是后端为 Django,二是访问核心接口时必须满足两个请求头条件,User-Agent 必须严格为 Campus-Stat/1.0,Referer 必须为 https://campus-stat.example.com。 接着观察首页的“加载更多”活动请求,访问 /?page=2...
Web-编码迷宫 信息搜集 打开题目,页面本身是一个签名验证功能,前端校验文件名是否合法。但抓包或查看源码后可以发现一个隐藏的调试端点:/api/route?expr=,它接受一个表达式参数并返回求值结果。访问 /actuator/info 也能确认这是一个 Spring Boot 应用。 直接传简单表达式测试: ?expr=1+1 → 2 ?expr=‘hello’.length() → 5 说明后端是一个 SpEL(Spring Expression Language)执行器,且没有对表达式内容做严格限制。 利用链条 目标文件是工作目录下的 flag.txt。Java 里读取本地文件的标准路径是:...
Web + 逆向穿越 解题思路: 题目是一个基于 Spring Boot 和 Spring Cloud Config Server 的配置服务。首先访问 `/config/app/dev/master`,返回了一份 mock 配置,其中明确提示真实敏感信息位于系统根目录下的 `/app/application.yml`。结合题目环境可以判断,核心突破点在 Config Server 的路径解析逻辑。 进一步分析发现,题目环境中的 Tomcat 开启了 `ALLOW_ENCODED_SLASH=true` 和 `ALLOW_BACKSLASH=true` 等危险配置,使得 URL 中的 `%2f` 不会在 Tomcat 层被提前标准...