尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Pikachu靶场暴力破解与XSS通关配置复盘
简介pikachu靶场全通关教程是一份面向网络安全渗透初学者的PDF学习资料围绕Pikachu靶场常见关卡整理通关思路与练习心得适合刚接触Web安全、需要按模块巩固实验操作的学习者。压缩包内共1个PDF文件大小16.9MB内容以图文步骤和工具使用说明为主便于在本地靶场环境中对照练习。教程覆盖基于表单的暴力破解、服务端与客户端验证码绕过、token防爆破以及反射型XSSGET/POST等典型题型并结合Burp Suite宏、重发器、测试器递归搜索等功能说明分析过程与排错方法。已有4825人学习可作为课程实验辅助材料也可用于梳理渗透测试基础流程、理解常见漏洞触发条件和验证思路。1. pikachu 靶场通关实录从暴力破解到 XSS 的踩坑与复现刚开始接触网络安全渗透时我踩过最蠢的坑是把验证码绕过当成“运气好”——刷新几次就进去了还以为靶场有 bug。后来复盘才发现服务端验证码的失效逻辑藏在 Cookie 里客户端验证码干脆只在前端 JS 里做校验。这两个点要是没吃透后面 token 防爆破、XSS 反射型与存储型的区别全都会卡在同一个认知盲区。这篇内容围绕 pikachu 靶场的暴力破解与 XSS 两大模块展开按模块拆解每个关卡的分析思路、burpsuite 配置项和失败时的排查方向。适合刚入门渗透、正在刷靶场但总在“配置宏”“递归搜索”这些操作上翻车的同学也适合想回头系统梳理一遍绕过逻辑的熟手。下面所有步骤都在本地靶场环境复现工具以 burpsuite 为主关键参数会标清楚怎么改、为什么改。2. 暴力破解四关从表单爆破到 token 绕过的完整链路暴力破解模块看着简单真正卡人的是后三关——验证码分服务端和客户端token 又分宏和递归搜索两种打法。我一般会按“先判断防护类型再选工具模式最后看响应差异”的顺序推而不是上来就挂字典。这一章把四个关卡逐个拆开每个关卡给出请求特征、配置步骤和失败排查点。2.1 基于表单的暴力破解集合炸弹模式的参数配置第一关没有任何防护输入任意账号密码抓包能看到username和password两个字段明文提交。常见的做法是丢进 burpsuite 的 Intruder 模块攻击类型选 Cluster bomb集合炸弹因为账号和密码是两个独立变量需要做笛卡尔积组合。具体配置Positions 里把username和password的值分别标为 payload 位置Payloads 选简单列表用户名集合放常见 admin、test、root 等密码集合放弱口令字典。线程数别开太高本地靶场 10 以内就够开太高反而容易丢响应。# 抓包后发送到 Intruder 的请求结构示意 POST /pikachu/vul/burteforce/bf_form.php HTTP/1.1 Host: 127.0.0.1 Content-Type: application/x-www-form-urlencoded username§admin§password§123456§submitLogin代码块里§包裹的就是 payload 位置两个位置对应两个 payload 集合。跑完后看响应长度或状态码差异成功登录的响应通常比失败响应长因为带了跳转或欢迎信息。这里有个容易翻车的点如果两个 payload 集合大小不一致集合炸弹会跑完所有组合但音叉模式只会按行对齐选错模式会漏掉正确组合。判断依据是——账号和密码都需要穷举且互不关联就用集合炸弹如果两个字段来自同一份字典的对应行才用音叉。2.2 验证码绕过Server宏与自定义参数的正确绑定服务端验证码这一关输入任意账号密码加验证码抓包观察每次刷新验证码的请求。会发现每次刷新都是向服务端发请求服务端返回新验证码并写入本次响应的 Cookie前端只是展示。也就是说验证码校验发生在服务端但校验逻辑和登录请求是分离的——登录请求里的验证码字段和服务端当前 Cookie 里的验证码对得上就通过。利用方式是用 burpsuite 的宏Macros自动获取验证码。操作路径Settings → Sessions → Macros → Add把获取验证码的请求加进去然后在响应里定义自定义参数参数名要和登录请求里验证码字段名一致。接着在 Session handling rules 里加规则范围限定为登录表单提交的那个 URL规则动作选“运行宏”再“替换请求参数”。关键配置项配置位置参数作用Macros → Add验证码请求 URL每次爆破前先取新验证码自定义参数参数名与登录字段一致把宏响应里的验证码提取出来Session handling rulesScope 限定登录 URL只对登录请求生效避免干扰其他请求规则动作Run macro Replace取码并替换请求中的验证码字段失败时先看宏有没有真正执行——在 Extender 里看宏请求的响应是否返回了验证码再看参数名是否大小写一致这个不一致是最常见的翻车原因参数名对不上替换就静默失败爆破全程用的还是旧验证码。另外宏的生效范围别设成全站否则刷新页面的请求也会触发宏把服务端验证码刷掉导致登录请求里的码永远对不上。2.3 验证码绕过Client前端校验的识别与利用客户端验证码比服务端简单一个量级。输入一次正确验证码前端 JS 校验通过后登录请求里根本不带验证码字段或者带了也不校验。识别方法很直接抓登录请求看请求体里有没有验证码参数再看刷新验证码时有没有发服务端请求。如果刷新纯靠 JS 换图、登录请求不带码就是客户端校验。利用方式就是回到第一关的集合炸弹直接对账号密码爆破验证码字段删掉或留空都不影响。这里有个细节有些实现会在请求里保留验证码字段但服务端不校验那就保留字段随便填别删删了反而可能触发参数缺失报错。2.4 token 防爆破宏与递归搜索两种打法对比token 关卡在登录页前端代码里埋了 CSRF token每次登录请求要带上前一次页面返回的 token。两种打法我都试过各有适用场景。方法一是宏。和验证码绕过类似把获取登录页的请求加进宏自定义参数提取 token 值规则范围内替换登录请求的 token 字段。配置逻辑和 2.2 几乎一样区别是提取源从验证码响应换成登录页 HTML参数名对应 token 字段。这个方法稳定适合 token 在页面源码里位置固定的情况。方法二是 Intruder 的 recursive grep递归搜索。攻击类型选 Pitchfork音叉因为要同时处理 password 和 token 两个字段且 token 需要从上一次响应里递归提取。Payload 设置里 token 字段的 payload 类型选 recursive grep提取规则填 token 在响应里的正则或边界标识请求引擎里把“关注重定向”设为总是因为登录成功会跳转不跟重定向就拿不到下一次的 token。# 音叉模式下的 payload 配置示意 Position 1: password → 简单列表字典 Position 2: token → recursive grep提取规则匹配响应中的 token 值 请求引擎: Follow redirect always两种方法的差别宏适合 token 获取和提交分离、需要多步请求的场景递归搜索适合 token 直接在登录响应里返回、且每轮爆破自动更新的场景。递归搜索翻车最多的地方是提取规则写错导致 token 为空爆破全程 401排查时先在 Repeater 里手动发一次登录请求确认响应里确实有下一次 token再把提取规则对着这段响应调。3. XSS 两关反射型 GET 与 POST 的注入点定位XSS 模块的反射型关卡核心不是弹窗本身而是找到输入回显到输出的路径。GET 和 POST 的区别只在于参数位置注入思路一致。这一章把两关的注入点定位、长度限制绕过和请求构造拆开讲。3.1 反射型 XSSGETURL 参数的长度限制绕过GET 型反射 XSS 的输入框通常有前端长度限制直接输入长 payload 会被截断。但回显逻辑在服务端参数通过 URL 传递所以绕过长度的办法是直接改 URL 里的 message 参数值不经过前端输入框。把 payload 拼进 URL 后回车服务端接收完整参数并回显JS 就执行了。// URL 中 message 参数的 payload 示例 scriptalert(xss)/script构造时注意 URL 编码尖括号和引号在部分环境需要编码成%3C%3E等形式但本地靶场直接传原始字符通常也能触发。验证是否执行看页面是否弹窗如果没弹先在 Repeater 里看响应体里 payload 是原样输出还是被转义——被转义说明有 HTML 实体编码需要换标签或事件属性原样输出但不执行检查是不是被塞进了属性值里而不是标签之间。3.2 反射型 XSSPOST登录后的请求体注入POST 型需要先登录才能访问注入页面抓包后修改请求体里的 message 字段。payload 和 GET 型一样区别是注入点在请求体而不是 URL。这里有个容易忽略的点登录态靠 Cookie 维持抓包时要确认请求带了有效 Cookie否则服务端返回的是登录页而不是注入页面回显里根本看不到 payload。// POST 请求体中的 message 字段 messagescriptalert(xss)/scriptsubmitsubmit提交后看响应体里 payload 是否原样回显在 HTML 中。如果回显了但没执行检查响应头里的 Content-Type 是不是 text/html有些环境返回 text/plain 就不会解析 JS。POST 型翻车最常见的原因是会话过期Cookie 失效后请求被重定向到登录页响应里全是登录表单排查时先看响应长度和内容是否符合预期页面。4. 通关路上最容易翻车的五个配置点这一章单独把踩过的坑列出来每条按现象、原因、解决写清楚。这些坑在暴力破解和 XSS 两章里反复出现单独拎出来是因为它们不属于某一关而是工具配置和判断逻辑的通用问题。4.1 宏参数名大小写不一致导致静默失败现象宏配置完爆破跑了几千次全是失败响应验证码或 token 字段看起来每次都变但就是登不进去。原因宏里定义的自定义参数名和登录请求里的字段名大小写不一致比如宏里叫Token请求里叫token替换步骤匹配不上请求里带的还是旧值。解决在 Repeater 里手动跑一次宏规则对比替换前后的请求体字段值没变就是参数名对不上改成完全一致再跑。4.2 递归搜索提取规则写错导致 token 为空现象token 关卡用递归搜索跑起来后每轮请求的 token 字段都是空值响应全是未授权。原因提取规则的正则或边界标识没匹配上响应里的 token 实际格式提取结果为空。解决先手动发一次获取 token 的请求把响应里 token 那段复制出来对着它调提取规则在 Intruder 的 grep 测试功能里验证规则能匹配到再开爆破。4.3 宏生效范围设成全站刷掉服务端验证码现象服务端验证码关卡配好宏后爆破时验证码总是对不上偶尔能成功一两次又失效。原因宏的生效范围设成了全站后台刷新页面的请求也触发宏把服务端 Cookie 里的验证码刷成了新值而登录请求用的是宏替换后的另一个值。解决Session handling rules 的 Scope 只保留登录表单提交的 URL其他请求排除改完在 Logger 里看宏的执行次数应该和爆破请求数一致多出来就是范围没限住。4.4 音叉模式 payload 集合行数不对齐现象token 关卡选音叉模式password 字典很长、token 递归搜索只生成少量值跑出来的组合数远小于预期正确密码没被试到。原因音叉模式按行对齐两个 payload 集合行数不一致时以短的为准多余的 password 没跑。解决确认递归搜索模式下 token 是每轮动态生成的不受行数限制如果 token 来源固定改用集合炸弹或调换攻击类型别用音叉硬套。4.5 POST 型 XSS 会话过期后回显丢失现象POST 型 XSS 提交 payload 后页面没有任何变化响应里也看不到 payload。原因登录态 Cookie 过期请求被重定向到登录页注入页面根本没被访问。解决抓包时看响应状态码和内容302 到登录页就是会话问题重新登录拿新 Cookie 再发或者在 Intruder 里把 Cookie 设为固定值并确认有效期内跑完。5. 从靶场通关到真实判断我总结的一套复现习惯刷完这两大模块我最大的变化不是记住了几个 payload而是养成了一个固定动作拿到一个输入点先判断校验发生在哪一端再决定用工具还是手工。服务端校验就找请求链路里有没有可自动化的中间步骤客户端校验就直接回到最朴素的爆破或注入。这个判断顺序比背配置项有用得多。回到具体操作上暴力破解四关的配置差异可以收在一张表里方便对照关卡防护类型工具模式关键配置表单爆破无集合炸弹双 payload 位置独立字典验证码Server服务端校验宏 规则替换自定义参数名与字段一致Scope 限登录 URL验证码Client前端校验集合炸弹验证码字段保留或删除均可token 防爆破CSRF token宏 或 递归搜索宏看参数名递归搜索看提取规则和重定向XSS 两关的判断更简单看回显位置在 URL 还是请求体看响应是否原样输出 payload。GET 型绕长度靠直接改 URLPOST 型绕会话靠确认 Cookie 有效。真正需要花时间的是失败后的排查——响应里 payload 被转义就换标签没被转义但不执行就看 Content-Type 和注入位置是否在可执行上下文里。有一个技巧我后来每次刷靶场都会用先在 Repeater 里把单个请求手工跑通确认 payload 能执行、宏能替换、token 能提取再丢进 Intruder 批量跑。批量跑失败时问题一定出在工具配置而不是 payload 本身排查范围直接缩小一半。从那以后我每次配宏和递归搜索都强制先在 Repeater 里走一遍单请求验证确认替换和提取都生效再开爆破。这套习惯帮我省掉的重复调试时间比多背十个 payload 实在得多。希望帮到你。本文还有配套的精品资源点击获取
RELATED

相关推荐

MDVR机器AD芯片 TP9950 TP9951 TP9963 mipi 芯片有什么区别?

MDVR机器AD芯片 TP9950 TP9951 TP9963 mipi 芯片有什么区别?

MDVR机器AD芯片 TP9950 TP9951 TP9963 mipi 芯片有什么区别? 品牌:TechPoint(科点),模拟同轴高清(TVI/AHD/CVI/CVBS)转 MIPI CSI2 解码芯片,车载 / 安防常用,QFN40 封装TI E2E sup... 价格为深圳现货 1K 批量、原装新料、未税参考(2026.10 行情);散买、翻新 / 拆机…

📅 2026/10/30 8:25:21
C++实战苏拉卡尔塔棋:规则建模、搜索剪枝与AI批量对弈测试

C++实战苏拉卡尔塔棋:规则建模、搜索剪枝与AI批量对弈测试

简介:基于 C实现的苏拉卡尔塔棋规则与AI测试项目,面向希望深入游戏逻辑与人工智能的初学者、进阶学习者,以及需要课程设计、毕业设计或工程实训源码的人群。资源覆盖苏拉卡尔塔棋完整规则实现,包括规则管理器、游戏执行逻辑、随机…

📅 2026/10/30 8:25:21
CRMEB电商系统:全渠道融合与高并发架构解析

CRMEB电商系统:全渠道融合与高并发架构解析

1. CRMEB电商系统的市场定位与核心价值在电商系统领域,CRMEB已经获得了50万企业的选择,这个数字背后反映的是其精准的市场定位和独特的价值主张。作为一款开源的企业级电商解决方案,CRMEB从一开始就瞄准了中小企业和创业团队的需求痛点。与传…

📅 2026/10/30 8:25:21
MORE NEWS

更多资讯

📰

Java Swing+JDBC+MySQL毕业设计选题系统:事务控制与避坑指南

简介:这份资源是Java SwingJDBCMySQL实现的毕业设计选题管理系统完整项目包,面向计算机相关专业学生、Java桌面开发初学者及需要课程设计或毕设参考的开发者,帮助解决选题分配流程信息化的问题。系统覆盖学生选题、教师命题、管理员审核等环节…

📰

Node.js与React构建AI Agents框架:paperclip环境搭建与编排实践

1. 从"paperclip"这个名字说起:它到底想解决什么问题第一次看到"paperclip"这个项目名,我脑子里蹦出来的其实是那个经典的"回形针"思想实验——一个不断自我进化、最终把整个世界都变成回形针的AI。用这个名字给一个基于N…

📰

DeepSeek-V4-GGUF量化食谱大公开:从Q2_K到IQ2_XXS的参数优化策略

DeepSeek-V4-GGUF量化食谱大公开:从Q2_K到IQ2_XXS的参数优化策略 DeepSeek-V4-GGUF是针对DS4推理引擎优化的量化模型集合,提供从Q2_K到IQ2_XXS等多种参数优化策略,帮助用户在不同硬件配置下实现高效的文本生成能力。本文将详细解析这些量化方…

📰

Scuttlebutt: 基于社交网络的数据同步协议

Scuttlebutt: 基于社交网络的数据同步协议 Scuttlebutt 是一种基于社交网络的数据同步协议,旨在解决分布式系统中的数据同步问题。该项目最初由 Dominic Tarr 开发,并在 GitCode 上开源。 什么是 Scuttlebutt? Scuttlebutt 是一个轻量级的、去…

📰

adb logcat 命令使用

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

国内环境快速搭建ESP-IDF开发框架:基于Gitee镜像的完整指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬