Pikachu靶场通关记录
字数 1736 2025-08-10 23:41:56

Pikachu靶场通关教学文档

1. 暴力破解

1.1 无验证码爆破

  • 直接使用Burp Suite的Intruder模块
  • 选择Cluster Bomb攻击类型(逐个匹配测试)
  • 根据响应包长度判断正确账号密码

1.2 服务端验证码

  • 尝试删除验证码字段(后端会校验)
  • 使用固定验证码进行爆破(验证码未失效)

1.3 前端验证码

  • 前端生成并验证,后端不验证
  • 先获取有效验证码,然后删除验证码字段进行爆破

1.4 Token验证

  • 使用Burp的正则匹配功能获取Token
  • 改用Pitchfork攻击类型
  • 降低线程数,适当sleep防止Token混乱

2. XSS漏洞

2.1 反射型XSS

  • 无过滤,直接使用<script>标签
  • 注意长度限制,可修改JS绕过

2.2 存储型XSS

  • Payload会持久化存储
  • 访问页面即触发,建议使用console.log而非弹窗

2.3 DOM型XSS

  • 输入写入到href属性
  • 使用javascript:alert(1)触发

2.4 XSS盲打

  • 攻击管理员后台
  • 在用户名和留言处都尝试XSS

2.5 过滤绕过

  • <script>被过滤时尝试双写或使用其他标签
  • 使用``

2.6 闭合JS代码

  • 分析页面JS代码
  • 尝试闭合原有JS并插入新代码

3. CSRF漏洞

3.1 GET型CSRF

  • 构造恶意URL包含所有参数
  • 诱使受害者点击

3.2 POST型CSRF

  • 构造隐藏表单自动提交
  • 使用<form method=post action='目标URL'>

3.3 Token防护

  • 检查请求是否携带并验证Token
  • 有效Token可防御CSRF

4. SQL注入

4.1 字符型注入

  • 使用' and 1=1' and 1=2测试
  • 确定列数后使用union select

4.2 搜索型注入

  • 语句结构为like '%输入%'
  • 使用%'闭合前半部分

4.3 XX型注入

  • 根据报错信息判断闭合方式
  • 常见闭合方式:')"))

4.4 INSERT/UPDATE注入

  • 注册或更新功能点可能存在
  • 使用报错注入如extractvalue

4.5 DELETE注入

  • 删除功能点可能存在
  • URL参数中尝试注入

4.6 HTTP头注入

  • 修改User-Agent等头部
  • 使用报错注入

4.7 盲注

  • 布尔盲注:根据页面响应判断
  • 时间盲注:使用sleep()if组合

4.8 宽字节注入

  • 使用%df'绕过转义
  • 原理:GBK编码特性

5. RCE漏洞

5.1 命令注入

  • 使用分号分隔命令
  • 1.1.1.1;ls;

5.2 代码执行

  • 直接执行系统命令
  • system('ls');

6. 文件包含

6.1 本地文件包含

  • 使用file://协议
  • 目录遍历如../../etc/passwd

6.2 远程文件包含

  • 需要allow_url_include开启
  • 包含远程服务器上的文件

7. 文件上传漏洞

7.1 客户端校验

  • 修改JS或Burp改包绕过

7.2 MIME类型校验

  • 修改Content-Type头

7.3 文件头校验

  • 制作图片马
  • 添加正确文件头

8. 越权漏洞

8.1 水平越权

  • 修改用户ID等参数
  • 访问同级用户信息

8.2 垂直越权

  • 普通用户访问管理员功能
  • 如用户添加功能

9. 其他漏洞

9.1 目录遍历

  • 修改URL参数遍历目录
  • ../跳转

9.2 敏感信息泄露

  • 检查前端代码和注释
  • 可能包含凭证信息

9.3 PHP反序列化

  • 构造恶意序列化数据
  • 可能导致XSS或RCE

9.4 XXE漏洞

  • 文件读取Payload:
<?xml version="1.0" ?>
<!DOCTYPE note [ <!ENTITY hack SYSTEM "file:///etc/passwd">]>
  • 盲注XXE需要外部DTD

9.5 URL跳转

  • 修改参数实现恶意跳转
  • 不要随意点击陌生链接

9.6 SSRF

  • 利用curlfile_get_contents
  • 攻击内网服务或读取文件
  • 尝试gopher协议攻击Redis等

总结

本教学文档详细记录了Pikachu靶场中各类Web漏洞的利用方法和技巧,包括但不限于暴力破解、XSS、CSRF、SQL注入、文件上传等常见漏洞类型。每个漏洞类型都提供了具体的利用步骤和Payload示例,可作为Web安全学习的参考手册。

Pikachu靶场通关教学文档 1. 暴力破解 1.1 无验证码爆破 直接使用Burp Suite的Intruder模块 选择Cluster Bomb攻击类型(逐个匹配测试) 根据响应包长度判断正确账号密码 1.2 服务端验证码 尝试删除验证码字段(后端会校验) 使用固定验证码进行爆破(验证码未失效) 1.3 前端验证码 前端生成并验证,后端不验证 先获取有效验证码,然后删除验证码字段进行爆破 1.4 Token验证 使用Burp的正则匹配功能获取Token 改用Pitchfork攻击类型 降低线程数,适当sleep防止Token混乱 2. XSS漏洞 2.1 反射型XSS 无过滤,直接使用 <script> 标签 注意长度限制,可修改JS绕过 2.2 存储型XSS Payload会持久化存储 访问页面即触发,建议使用 console.log 而非弹窗 2.3 DOM型XSS 输入写入到href属性 使用 javascript:alert(1) 触发 2.4 XSS盲打 攻击管理员后台 在用户名和留言处都尝试XSS 2.5 过滤绕过 <script> 被过滤时尝试双写或使用其他标签 使用 `` 2.6 闭合JS代码 分析页面JS代码 尝试闭合原有JS并插入新代码 3. CSRF漏洞 3.1 GET型CSRF 构造恶意URL包含所有参数 诱使受害者点击 3.2 POST型CSRF 构造隐藏表单自动提交 使用 <form method=post action='目标URL'> 3.3 Token防护 检查请求是否携带并验证Token 有效Token可防御CSRF 4. SQL注入 4.1 字符型注入 使用 ' and 1=1 和 ' and 1=2 测试 确定列数后使用 union select 4.2 搜索型注入 语句结构为 like '%输入%' 使用 %' 闭合前半部分 4.3 XX型注入 根据报错信息判断闭合方式 常见闭合方式: ') 、 ")) 等 4.4 INSERT/UPDATE注入 注册或更新功能点可能存在 使用报错注入如 extractvalue 4.5 DELETE注入 删除功能点可能存在 URL参数中尝试注入 4.6 HTTP头注入 修改User-Agent等头部 使用报错注入 4.7 盲注 布尔盲注:根据页面响应判断 时间盲注:使用 sleep() 和 if 组合 4.8 宽字节注入 使用 %df' 绕过转义 原理:GBK编码特性 5. RCE漏洞 5.1 命令注入 使用分号分隔命令 如 1.1.1.1;ls; 5.2 代码执行 直接执行系统命令 如 system('ls'); 6. 文件包含 6.1 本地文件包含 使用 file:// 协议 目录遍历如 ../../etc/passwd 6.2 远程文件包含 需要 allow_url_include 开启 包含远程服务器上的文件 7. 文件上传漏洞 7.1 客户端校验 修改JS或Burp改包绕过 7.2 MIME类型校验 修改Content-Type头 7.3 文件头校验 制作图片马 添加正确文件头 8. 越权漏洞 8.1 水平越权 修改用户ID等参数 访问同级用户信息 8.2 垂直越权 普通用户访问管理员功能 如用户添加功能 9. 其他漏洞 9.1 目录遍历 修改URL参数遍历目录 如 ../ 跳转 9.2 敏感信息泄露 检查前端代码和注释 可能包含凭证信息 9.3 PHP反序列化 构造恶意序列化数据 可能导致XSS或RCE 9.4 XXE漏洞 文件读取Payload: 盲注XXE需要外部DTD 9.5 URL跳转 修改参数实现恶意跳转 不要随意点击陌生链接 9.6 SSRF 利用 curl 或 file_get_contents 攻击内网服务或读取文件 尝试 gopher 协议攻击Redis等 总结 本教学文档详细记录了Pikachu靶场中各类Web漏洞的利用方法和技巧,包括但不限于暴力破解、XSS、CSRF、SQL注入、文件上传等常见漏洞类型。每个漏洞类型都提供了具体的利用步骤和Payload示例,可作为Web安全学习的参考手册。