记录下pikachu靶场的打靶记录
字数 2120 2025-08-11 08:36:35

Pikachu靶场全面渗透测试指南

暴力破解攻击

1. 基于表单的暴力破解

  • 攻击原理:通过枚举尝试用户名和密码组合
  • 操作步骤
    1. 使用Burp Suite拦截登录请求
    2. 发送到Intruder模块
    3. 设置密码字段为爆破点
    4. 使用Grep Match功能筛选"login success"特征
    5. 根据返回包长度差异判断成功尝试

2. 验证码绕过技术

  • 前端验证绕过
    • 直接删除验证码字段
    • 修改前端JS验证逻辑
  • 可重复使用验证码
    • 多次重放同一验证码请求
    • 确认服务端不校验验证码时效性

3. Token防护绕过

  • 攻击流程
    1. 抓取包含token的请求
    2. 使用正则匹配提取每次响应的token值
    3. 设置单线程爆破确保token同步
    4. 同时爆破密码和动态token

XSS攻击技术

反射型XSS

  • GET型
    • 修改URL参数注入脚本
    • 示例:<script>alert('xss')</script>
  • POST型
    • 通过表单提交恶意脚本
    • 示例:<script>alert(document.cookie)</script>

存储型XSS

  • 攻击特征
    • 恶意脚本持久化存储在服务器
    • 所有访问者都会触发
    • 常见于留言板、评论系统

DOM型XSS

  • 伪协议法
    • javascript:alert(document.cookie)
  • 事件触发法
    • ' onmouseover="alert(document.cookie)"
  • 防御绕过
    • 闭合现有标签注入新事件

XSS高级绕过技术

  • HTML实体编码绕过
    • 利用未过滤的单引号
    • 示例:javascript:alert(document.cookie)
  • JS输出上下文
    • 闭合变量并注释后续代码
    • 示例:';alert(document.cookie);//
  • href属性注入
    • 在链接地址中注入JS代码

CSRF攻击技术

GET型CSRF

  • 攻击流程
    1. 构造恶意URL包含所有参数
    2. 诱骗用户点击或自动加载
    3. 利用同源策略自动携带cookie

POST型CSRF

  • 攻击方法
    1. 构建自动提交表单的恶意页面
    2. 隐藏iframe加载目标页面
    3. 使用JS自动提交修改请求

Token防护绕过

  • 攻击步骤
    1. 从页面源码获取token
    2. 构造包含有效token的请求
    3. 利用token生成逻辑缺陷

SQL注入攻击

数字型注入

  • 检测方法
    • 1 and 1=1 / 1 and 1=2测试
    • order by确定字段数
    • union select获取回显位

字符型注入

  • 关键点
    • 识别闭合符号(单引号、双引号等)
    • URL编码特殊字符绕过过滤
    • 示例:' or 1=1%23

报错注入

  • 常用函数
    • updatexml()updatexml(1,concat(0xff01,database()),1)
    • extractvalue()extractvalue(1,concat(0xff01,database()))

盲注技术

  • 布尔盲注
    • and length(database())>1
    • and ascii(substr(database(),1,1))>97
  • 时间盲注
    • or if(ascii(substr(database(),1,1))=97,sleep(5),1)

宽字节注入

  • 原理
    • 利用GBK编码特性
    • 构造%ab'使转义符失效
    • 示例:%ab' or 1=1%23

文件上传漏洞

客户端校验绕过

  • 方法
    1. 禁用前端JS验证
    2. 修改文件扩展名
    3. 拦截修改上传请求

MIME类型绕过

  • 攻击步骤
    1. 上传合法扩展名文件
    2. 拦截修改Content-Type
    3. 示例:改为image/jpeg

图片马利用

  • 制作方法
    • copy /b 1.png+1.php 2.png
  • 配合文件包含
    • 通过包含漏洞执行图片中的PHP代码

文件包含漏洞

本地文件包含(LFI)

  • 利用方法
    • 读取敏感文件:../../../../etc/passwd
    • 配合上传漏洞获取webshell

远程文件包含(RFI)

  • 前提条件
    • allow_url_include开启
    • 示例:包含远程恶意脚本

越权漏洞

水平越权

  • 特征
    • 修改用户ID参数访问他人数据
    • 示例:user=lucy改为user=admin

垂直越权

  • 攻击方法
    1. 低权限用户获取高权限请求
    2. 复制管理员请求头
    3. 绕过Referer等校验

其他漏洞

XXE注入

  • 攻击载荷
<?xml version="1.0"?>
<!DOCTYPE foo [
<!ENTITY xxe SYSTEM "file:///etc/passwd">]>
<foo>&xxe;</foo>

SSRF漏洞

  • 利用方式
    • 探测内网服务:http://127.0.0.1:8080
    • 读取本地文件:file:///etc/passwd
    • 端口扫描

反序列化漏洞

  • 攻击流程
    1. 构造恶意对象
    2. 序列化后提交
    3. 触发魔术方法执行代码

防御建议

  1. 输入输出严格过滤
  2. 使用预编译语句防SQL注入
  3. 关键操作添加CSRF Token
  4. 文件上传限制类型并重命名
  5. 关闭不必要的PHP危险函数
  6. 最小权限原则配置服务器
  7. 敏感操作二次验证
  8. 定期安全审计和漏洞扫描

本指南详细记录了Pikachu靶场中各类漏洞的利用方法和原理,可作为渗透测试学习和实践的参考手册。实际测试中请确保获得授权,遵守法律法规。

Pikachu靶场全面渗透测试指南 暴力破解攻击 1. 基于表单的暴力破解 攻击原理 :通过枚举尝试用户名和密码组合 操作步骤 : 使用Burp Suite拦截登录请求 发送到Intruder模块 设置密码字段为爆破点 使用Grep Match功能筛选"login success"特征 根据返回包长度差异判断成功尝试 2. 验证码绕过技术 前端验证绕过 : 直接删除验证码字段 修改前端JS验证逻辑 可重复使用验证码 : 多次重放同一验证码请求 确认服务端不校验验证码时效性 3. Token防护绕过 攻击流程 : 抓取包含token的请求 使用正则匹配提取每次响应的token值 设置单线程爆破确保token同步 同时爆破密码和动态token XSS攻击技术 反射型XSS GET型 : 修改URL参数注入脚本 示例: <script>alert('xss')</script> POST型 : 通过表单提交恶意脚本 示例: <script>alert(document.cookie)</script> 存储型XSS 攻击特征 : 恶意脚本持久化存储在服务器 所有访问者都会触发 常见于留言板、评论系统 DOM型XSS 伪协议法 : javascript:alert(document.cookie) 事件触发法 : ' onmouseover="alert(document.cookie)" 防御绕过 : 闭合现有标签注入新事件 XSS高级绕过技术 HTML实体编码绕过 : 利用未过滤的单引号 示例: javascript:alert(document.cookie) JS输出上下文 : 闭合变量并注释后续代码 示例: ';alert(document.cookie);// href属性注入 : 在链接地址中注入JS代码 CSRF攻击技术 GET型CSRF 攻击流程 : 构造恶意URL包含所有参数 诱骗用户点击或自动加载 利用同源策略自动携带cookie POST型CSRF 攻击方法 : 构建自动提交表单的恶意页面 隐藏iframe加载目标页面 使用JS自动提交修改请求 Token防护绕过 攻击步骤 : 从页面源码获取token 构造包含有效token的请求 利用token生成逻辑缺陷 SQL注入攻击 数字型注入 检测方法 : 1 and 1=1 / 1 and 1=2 测试 order by 确定字段数 union select 获取回显位 字符型注入 关键点 : 识别闭合符号(单引号、双引号等) URL编码特殊字符绕过过滤 示例: ' or 1=1%23 报错注入 常用函数 : updatexml() : updatexml(1,concat(0xff01,database()),1) extractvalue() : extractvalue(1,concat(0xff01,database())) 盲注技术 布尔盲注 : and length(database())>1 and ascii(substr(database(),1,1))>97 时间盲注 : or if(ascii(substr(database(),1,1))=97,sleep(5),1) 宽字节注入 原理 : 利用GBK编码特性 构造 %ab' 使转义符失效 示例: %ab' or 1=1%23 文件上传漏洞 客户端校验绕过 方法 : 禁用前端JS验证 修改文件扩展名 拦截修改上传请求 MIME类型绕过 攻击步骤 : 上传合法扩展名文件 拦截修改Content-Type 示例:改为 image/jpeg 图片马利用 制作方法 : copy /b 1.png+1.php 2.png 配合文件包含 : 通过包含漏洞执行图片中的PHP代码 文件包含漏洞 本地文件包含(LFI) 利用方法 : 读取敏感文件: ../../../../etc/passwd 配合上传漏洞获取webshell 远程文件包含(RFI) 前提条件 : allow_url_include 开启 示例:包含远程恶意脚本 越权漏洞 水平越权 特征 : 修改用户ID参数访问他人数据 示例: user=lucy 改为 user=admin 垂直越权 攻击方法 : 低权限用户获取高权限请求 复制管理员请求头 绕过Referer等校验 其他漏洞 XXE注入 攻击载荷 : SSRF漏洞 利用方式 : 探测内网服务: http://127.0.0.1:8080 读取本地文件: file:///etc/passwd 端口扫描 反序列化漏洞 攻击流程 : 构造恶意对象 序列化后提交 触发魔术方法执行代码 防御建议 输入输出严格过滤 使用预编译语句防SQL注入 关键操作添加CSRF Token 文件上传限制类型并重命名 关闭不必要的PHP危险函数 最小权限原则配置服务器 敏感操作二次验证 定期安全审计和漏洞扫描 本指南详细记录了Pikachu靶场中各类漏洞的利用方法和原理,可作为渗透测试学习和实践的参考手册。实际测试中请确保获得授权,遵守法律法规。