爬虫训练靶场 🕷️

从 requests 第一行代码,到协议/解析/签名反调试的高手。每一关都是一个精准的技术考点,划过一关就点亮一个技能。题目难度从 ★ 到 ★★★★ 渐进。

注册/登录 保存你的通关记录和段位。

入门热身 从 requests 的第一个请求开始 · 0/3
+30 EXP
待挑战

第一关:你好,requests

用 requests.get() 访问目标地址,服务器会返回一段话,其中有一个 FLAG,把 FLAG 提交。
入门热身 FLAG
+30 EXP
待挑战

第二关:页面的隐藏注释

目标页面里,HTML 代码的注释 <!-- ... --> 中藏着一个 FLAG。查看源代码(Ctrl+U)或 curl 拿源码都能看到。
入门热身 FLAG
+40 EXP
待挑战

第三关:点开看不见的链接

目标页面里有一个颜色几乎透明、肉眼难辨的链接,指向一个隐藏子页面,真正的 FLAG 在那个隐藏页面里。
入门热身 FLAG
HTTP 协议 Header / Cookie / 方法 / 状态码 / 重定向 / Session · 0/9
+50 EXP
待挑战

第四关:响应头里的秘密

目标接口的 HTTP 响应头 里有一个自定义字段 X-Hidden-Flag。把它提交。
HTTP 协议 FLAG
+50 EXP
待挑战

第五关:换身份 (User-Agent)

目标接口只对 User-Agent 里包含 SpiderBot 的请求返回 FLAG。模拟真实爬虫要设 UA——这正是第一课。
HTTP 协议 FLAG
+50 EXP
待挑战

第六关:带上通行证 (Cookie)

目标接口要求请求带 Cookie: role=admin(身份是管理员)才返回 FLAG。Cookie 是登录态/会话的基础。
HTTP 协议 FLAG
+60 EXP
★★ 待挑战

第七关:换个姿势 (POST + 参数)

目标接口不接受 GET,必须用 POST 并带上参数 action=submit 才返回 FLAG。注意看看要 form 还是 json。
HTTP 协议 FLAG
+60 EXP
★★ 待挑战

第八关:正确的状态码

访问目标接口,你会看到各种状态码。真正的 FLAG 藏在某个非 200 的响应里。别只看 200。
HTTP 协议 FLAG
+70 EXP
★★ 待挑战

第九关:被重定向到哪了

目标接口会重定向跳转多次,最终才返回 FLAG。记住:requests 默认自动跟随,curl 要用 -L。
HTTP 协议 FLAG
+80 EXP
★★ 待挑战

第十关:保持登录态 (Session)

这关要先访问一个 分发 Cookie 的接口,然后带着这个 Cookie 访问目标接口才能拿到 FLAG。孤立请求是拿不到的。
HTTP 协议 FLAG
+70 EXP
★★ 待挑战

第十一关:来源要正 (Referer)

目标接口校验 Referer(来源页面),只接受来自本站首页的请求。防跨站,也是防盗链的常见手段。
HTTP 协议 FLAG
+60 EXP
★★ 待挑战

第十二关:用了对的语言

目标接口根据 Accept-Language 返回不同内容,只有请求语言是中文时才会返回 FLAG。
HTTP 协议 FLAG
页面解析 HTML / JSON / 正则 / 数据结构 · 0/6
+70 EXP
待挑战

第十三关:HTML 里的数字

目标页面里散落着若干数字(在标签/文本/属性里都有)。把所有数字求和提交。
页面解析 求和
+70 EXP
待挑战

第十四关:表格求和

目标页面有一张表格,把表格里所有数字单元格的值相加提交。
页面解析 求和
+80 EXP
★★ 待挑战

第十五关:JSON 里的求和

目标接口返回一个多字段 JSON,把里面所有数字字段的值相加提交。
页面解析 求和
+120 EXP
★★★ 待挑战

第十六关:嵌套 JSON

目标接口返回一个嵌套很深的 JSON(有列表、有字典、多层级),把里面所有数字递归相加提交。
页面解析 求和
+90 EXP
★★ 待挑战

第十七关:从字符串里抠出目标

目标接口返回一段夹杂了各种内容的文本,其中符合 邮箱格式 (xxx@yyy.zzz) 的那串就是一个 FLAG,把它提交。
页面解析 FLAG
+130 EXP
★★★ 待挑战

第十八关:跟着分页走

目标接口是分页返回的 JSON(胶内测器的习惯术语:每页若干条)。翻完所有页,把所有数字相加提交。
页面解析 求和
加密·签名·反调试 伪装 / 校验 / 后端签名 / 指纹 / 反调试 · 0/5
+100 EXP
★★ 待挑战

第十九关:伪装浏览器

用默认 python-requests 的 UA,目标接口会识别成爬虫拒绝。设置一个完整的浏览器 UA(含...
加密·签名·反调试 FLAG
+90 EXP
★★ 待挑战

第二十关:慢一点 (限速检测)

目标接口检测到短时间内访问太频繁(比如 3 秒内连打)会拒绝。这次等一小会儿就能拿到 FLAG——这就是为什么爬虫脚本都要 sleep。
加密·签名·反调试 FLAG
+130 EXP
★★★ 待挑战

第二十一关:签名校验

目标接口要求请求带一个 签名 cookie: token=固定字符串 才返回...
加密·签名·反调试 FLAG
+110 EXP
★★★ 待挑战

第二十二关:别被蜜罐骗了

目标页面 HTML 里有很多假链接,但只有一个是真的,真 FLAG 藏在真链接的页面里。学会判断哪些是蜜罐/诱饵。
加密·签名·反调试 FLAG
+160 EXP
★★★★ 待挑战

第二十三关:后端简单签名

目标接口的请求参数里要带 sign=md5(你需要先算出)。正文里给了你算法规则:sign =...
加密·签名·反调试 FLAG
综合实战 综合协议+解析的真实业务闯关 · 0/1
+180 EXP
★★★ 待挑战

第二十四关:实战·商品列表

模拟一个真实业务:目标接口是分页商品列表(JSON),但需要 请求头 + Cookie + 正常 UA...
综合实战 求和