挑战一览
05. HTML 源代码中的秘密
网页中还包含许多页面表面看不到的信息。查看 HTML 源代码时,常能发现开发者留下的注释。请检查本页源代码并找出旗标。
06. JavaScript 密码校验
本页有一个受密码保护的区域,但密码校验在 JavaScript 中完成。检查开发者工具里的脚本,找出正确密码。
07. 查看 Cookie
网站会用 Cookie 在浏览器中保存信息,例如登录状态。有时重要信息也会被错误地存入 Cookie;请检查本网站的 Cookie 并找到旗标。
09. Python 自动化:读取文件
安全工作常需用编程处理大量数据。本题的 `data.txt` 有 100 行文本,其中一行包含旗标;请补全 Python 代码并找出它。
SQL 注入 101
该登录表单存在 SQL 注入漏洞。请在没有正确凭据的情况下以 admin 身份登录并取得旗标。
Web-04. robots.txt 的陷阱
网站常为爬虫提供 robots.txt。本题要确认:robots.txt 要求不抓取的文件,是否仍能被直接访问。
Web-05. 目录列表陷阱
若 Nginx 为目录启用了索引列表(autoindex),本应隐藏的文件清单就会公开。请探索暴露的目录。
Web-06. 伪造 HTTP 请求头
该应用依据特定 HTTP 请求头的值允许访问。即使浏览器默认不会发送某个值,也能通过自行构造请求来修改它。
Web-07. 篡改 URL 参数
本应用在服务器端检查 URL 的 GET 参数 key。所需的参数名和值可从页面说明和提示中得到。提供正确的 key 时,服务器会返回旗标。
Web-08. 篡改 POST 数据
登录表单含有页面上看不见的 hidden input。用开发者工具检查它,并尝试修改提交的数据。
Web-09. 脆弱的 Basic 认证陷阱
受保护区域使用 HTTP Basic 认证,但开发者误把凭据留在公开页面的 HTML 注释中。请检查页面源代码。
Web-10. 查看重定向背后
访问某页会立刻跳转到另一页。浏览器会自动跟随重定向;请设法查看重定向之前的响应正文。
XSS 基础:留言簿
这个 Web 应用存在基础的 XSS 漏洞。找出留言簿中会原样反射输入的位置。旗标位于只有管理员浏览器才能读取的内部端点。点击页面上的“请管理员查看”,管理员就会打开你的 message。
API 请求:识别最高利润交易
容器启动时,股票 API 会在 http://localhost:9102 上运行(无需自己启动 server.py)。请通过 GET /api/stocks 和 GET /api/stocks/<symbol> 获取 5 只股票共约…
Python 练习:批量解码 Base64 流
data.txt(约 150 行,每次启动时生成)的每一行都是 Base64。请逐行解码,如果结果以 "b64:" 开头,就把剩余部分再做一次 Base64 解码(有些行嵌套多层)。无法解码的行(损坏的…
Python 练习:条件筛选 CSV 销售数据
每次启动时生成的 data.txt 是销售 CSV(transaction_id,date,product_id,amount,status,ref,notes)。同时满足 amount >= 10000、status 为…
Python 练习:复合查询 JSON 用户数据
请分析每次启动时生成的 JSON 文件 data.txt({"users": [...]})。每个用户包含 id、name、email、role、active、token。同时满足 role 为 "admin"(完全一致)、active…
Python 练习:追踪访问日志中的目标 IP
data.txt(约 1300 行,每次启动时生成)是 Web 服务器的访问日志。请只提取来自 192.168.1.100 的访问(混入了 192.168.1.10、192.168.1.101 等相似的诱饵 IP)。这个 IP 通过…
Python 自动化:批量 Base64 解码
data.txt(约 150 行,每次启动时生成)的每一行都是 Base64。请逐行解码,如果结果以 "b64:" 开头,就把剩余部分再做一次 Base64 解码(有些行嵌套多层)。无法解码的行(损坏的…
Python 自动化:筛选 CSV 销售数据
每次启动时生成的 data.txt 是销售 CSV(transaction_id,date,product_id,amount,status,ref,notes)。同时满足 amount >= 10000、status 为…
Python 自动化:查询 JSON 用户数据
请分析每次启动时生成的 JSON 文件 data.txt({"users": [...]})。每个用户包含 id、name、email、role、active、token。同时满足 role 为 "admin"(完全一致)、active…
Python 自动化:解析访问日志
data.txt(约 1300 行,每次启动时生成)是 Web 服务器的访问日志。请只提取来自 192.168.1.100 的访问(混入了 192.168.1.10、192.168.1.101 等相似的诱饵 IP)。这个 IP 通过…
Python 自动化:破解密码哈希
请分析每次启动时随机生成的 data.txt(SHA-256 哈希列表)和 wordlist.txt(800 个由 4 位小写字母和数字组成的 token)。data.txt 的每一行要么是诱饵 sha256(word)(word 是…
Web-11. 员工门户 SQL 注入
KinoGadget 的内部员工访问门户使用旧式认证系统。据说开发者会直接用输入拼接动态 SQL;请尝试以管理员身份进入。