3-4〔OSCP ◈ 研记〕❘ WEB应用攻击▸Burp Suite工具
郑重声明: 本文所有安全知识与技术,仅用于探讨、研究及学习,严禁用于违反国家法律法规的非法活动。对于因不当使用相关内容造成的任何损失或法律责任,本人不承担任何责任。 如需转载,请注明出处且不得用于商业盈利。
💥👉点赞❤️ 关注🔔 收藏⭐️ 评论💬💥
更多文章戳👉Whoami!-CSDN博客🚀
𖤐 嘿,经过前面的预热,我们正式打开这扇门,来吧 !
𖤐 𝓗𝓮𝔂, 𝓪𝓯𝓽𝓮𝓻 𝔀𝓪𝓻𝓶-𝓾𝓹,𝔀𝓮'𝓻𝓮 𝓷𝓸𝔀 𝓸𝓯𝓯𝓲𝓬𝓲𝓪𝓵𝓵𝔂 𝓸𝓹𝓮𝓷𝓲𝓷𝓰 𝓽𝓱𝓲𝓼 𝓭𝓸𝓸𝓻,𝓒𝓸𝓶𝓮 𝓸𝓷 !
→ 信息收集
→ 漏洞检测
→ 初始立足点▸WEB应用攻击▸Burp Suite工具-----我们在这儿~ 🔥🔥🔥
→ 权限提升
→ 横向移动
→ 报告/分析
→ 教训/修复
目录
1.Web应用安全评估工具
1.1 使用Burp Suite测试
1.1.1 Burp Suite启动流程
1.Kali系统启动方式
2.首次启动警告处理
3.项目创建
4.界面布局介绍
1.1.2 Proxy代理功能
1.设置“proxy 监听器”
2.设置“拦截(Intercept)”
3.使用Proxy功能拦截并修改http请求
4.使用重放器(Repeater)修改http请求(示例)
1.1.3 Repeater重放器功能
1.进入Repeater面板
2.执行重放
3. 实战操作指南(示例)
①发送请求到Repeater
②请求修改示例
③响应分析
4.典型测试场景
5.高效使用技巧
①标签管理
②协作功能
③快捷键操作
1.1.4 Intruder攻击器功能
1. 环境配置前置步骤
①Hosts文件配置
②目标访问流程
2.请求定位与参数标记
3.创建密码字典
4.攻击执行与监控
💥创作不易💥求一波暴击👉点赞❤️ 关注🔔 收藏⭐️ 评论💬
1.Web应用安全评估工具
1.1 使用Burp Suite测试
技术定位:行业标准级Web应用渗透测试平台
核心价值:集成代理/扫描/重放等20+工具链 → 完整测试生命周期管理
💼 版本功能对比
功能模块 | 社区版(免费) | 专业版(收费) |
---|---|---|
拦截代理 | ✅ 完整支持 | ✅ 增强功能 |
漏洞扫描器 | ❌ 受限 | ✅ 自动化扫描 |
Intruder爆破 | ✅ 基础 | ✅ 高级模式 |
Repeater重放 | ✅ 完整 | ✅ 历史对比 |
序列器 | ❌ 不可用 | ✅ Token分析 |
协作平台 | ❌ 不可用 | ✅ 团队协作 |
💡 推荐场景:社区版满足手动测试 → 专业版适合企业级自动化审计
1.1.1 Burp Suite启动流程
1.Kali系统启动方式
2.首次启动警告处理
! Java运行时环境警告 → 可以忽略
+ 解决方案:更新Java至最新版可消除警告
3.项目创建
- [x] 选择`Temporary project`(临时项目)
- [x] 点击`Next` → 选择`Use Burp defaults`
- [x] 点击`Start Burp`
4.界面布局介绍
几秒后,界面将加载。
界面布局解析
区域 | 功能 | 重要性 |
---|---|---|
Dashboard | 扫描摘要 | 专业版专属 |
Target | 站点地图 | ★★★★ |
Proxy | 流量拦截 | ★★★★★ |
Intruder | 暴力破解 | ★★★★ |
Repeater | 请求重放 | ★★★★ |
Decoder | 编码转换 | ★★★ |
🔥 优先掌握:
Proxy
(代理) >Repeater
(重放器) >Intruder
(入侵者)
1.1.2 Proxy代理功能
技术本质:中间人(MITM)代理 → 拦截/修改HTTP(S)流量
- 核心功能:Burp Proxy 工具可在浏览器发送的请求传递给服务器前进行拦截。
- 主要操作:拦截后可对请求内容进行多种篡改,包括修改参数名称、表单值,以及添加新头部等。
- 应用场景:通过上述操作,能测试应用程序对意外任意输入的处理情况。
- 实例说明:例如对于有 20 个字符大小限制的输入字段,可利用 Burp Suite 修改请求以提交 30 个字符,进而查看服务器的响应效果。
🌐 代理工作原理图
⚙️ 核心功能
功能模块 | 操作路径 | 关键作用 |
---|---|---|
拦截开关 | Proxy > Intercept | 实时流量捕获 |
监听器设置 | Proxy > Options > Proxy Listeners | 定义代理端口 |
历史记录 | Proxy > HTTP History | 完整流量审计 |
HTTPS解密 | Proxy > Options > Import/export CA certificate | TLS流量解析 |
⚙️代理配置流程
1.设置“proxy 监听器”
步骤1:Burp监听器设置
1. 进入 `Proxy` > `Options`
2. 确认默认监听器: - **绑定地址**:127.0.0.1 - **端口**:8080
3. (可选) 添加新监听器: - 外部访问 → 设置Kali IP - 多协议支持 → 勾选所有协议
步骤2:浏览器代理配置(Firefox示例)
设置后,浏览器的请求发送到本地(127.0.0.1)的8080端口(BP代理)上。
步骤3:HTTPS解密(关键步骤)
如果是HTTPS请求,则需要多这一步。即,下载BP的证书cacert.der文件导入到浏览器。
# 安装CA证书流程
1. 访问 http://burp
2. 下载cacert.der
3. Firefox → 隐私与安全 → 证书 → 导入
2.设置“拦截(Intercept)”
🛑 拦截(Intercept)控制面板
按钮 | 功能 | 快捷键 | 使用场景 |
---|---|---|---|
Intercept is on | 启用拦截 | Ctrl+I | 深度测试阶段 |
Intercept is off | 关闭拦截 | Ctrl+I | 正常浏览阶段 |
Forward | 放行请求 | Ctrl+F | 完成修改后 |
Drop | 丢弃请求 | Ctrl+D | 阻止敏感操作 |
Action | 高级操作 | - | 发送至其他工具 |
💡 智能技巧:
使用Ctrl+Shift+F
自动转发无修改请求
3.使用Proxy功能拦截并修改http请求
使用Firefox浏览器访问MegaCorp One - Nanotechnology Is the Future后,在Burp Suite的中Proxy >HTTP History下找到拦截的流量,可以查看浏览器对目标网站执行的各种请求。
HTTP History关键列说明:
列名 | 作用 | 安全分析价值 |
---|---|---|
# | 请求ID | 追踪特定操作 |
Host | 目标域名 | 识别越权访问 |
Method | HTTP方法 | 检测危险操作(PUT/DELETE) |
URL | 请求路径 | 发现未授权端点 |
Params | 参数数量 | 定位注入点 |
Status | 响应代码 | 识别异常响应(500) |
Length | 响应长度 | 探测信息泄露 |
点击其中一个请求,整个客户端请求和服务器响应的转储将显示在Burp UI的下半部分。
在左侧窗格中:查看客户端请求的详细信息;
在右侧窗格中:查看服务器响应。
4.使用重放器(Repeater)修改http请求(示例)
本部分内容在将在后续内容详细展示,此处仅做简略说明。
原始请求:
POST /login HTTP/1.1
Host: megacorpone.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 28username=user&password=123
篡改后攻击请求:修改输入框的输入长度至38字节,并在username加入SQL注入语句,绕过密码验证。
POST /login HTTP/1.1
Host: megacorpone.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 38username=admin' OR 1=1--
password=anyvalue
1.1.3 Repeater重放器功能
核心定位:精准请求重放与手动测试引擎
核心价值:无需重复拦截 → 深度参数测试与漏洞验证
🔄 Repeater工作流程
1.进入Repeater面板
右键单击Proxy > HTTP History中的一个请求,然后选择Send to Repeater。
来到Repeater界面:可以将多个请求发送到Repeater,并使用单独的选项卡显示它们。
🛠️ Repeater界面布局解析
区域 | 功能 | 操作说明 |
---|---|---|
请求面板(左侧) | 编辑HTTP请求 | 修改参数/头部/方法 |
发送按钮(Send) | 执行请求 | 发送当前请求到服务器 |
响应面板(右侧) | 显示服务器返回 | 原始数据/渲染视图 |
标签管理 | 多请求并行测试 | 右键标签可重命名/关闭 |
2.执行重放
修改请求后,通过点击Send,将请求发送到服务器,这个就是重放的过程。
👁️ 响应视图模式对比
视图模式 | 功能特点 | 适用场景 |
---|---|---|
Raw | 原始响应数据 | 分析HTTP头部 |
Hex | 十六进制格式 | 二进制文件分析 |
Render | 渲染后页面 | 可视化效果验证 |
Headers | 仅显示头部 | 快速查看状态码 |
3. 实战操作指南(示例)
①发送请求到Repeater
1. 进入 `Proxy` > `HTTP history`
2. 右键目标请求 → `Send to Repeater`
3. 切换到 `Repeater` 标签页
②请求修改示例
原始请求:
GET /product?id=123 HTTP/1.1
Host: megacorpone.com
修改后测试SQL注入:
GET /product?id=123' OR 1=1-- HTTP/1.1
Host: megacorpone.com
③响应分析
- ✅ 状态码变化:200 → 500(可能存在注入)
- ✅ 响应长度差异:明显增加(可能返回额外数据)
- ✅ 错误信息:SQL语法错误(确认注入点)
- ✅ 渲染页面:查看实际效果
4.典型测试场景
测试类型 | 请求修改位置 | 预期结果 | 风险等级 |
---|---|---|---|
SQL注入 | URL参数/Body | 数据库错误/数据泄露 | 🔴 高危 |
XSS测试 | 所有输入点 | 脚本执行 | 🔴 高危 |
路径遍历 | 文件路径参数 | 系统文件访问 | 🔴 高危 |
IDOR测试 | 身份标识参数 | 越权数据访问 | 🟡 中危 |
缓冲区溢出 | 长字符串输入 | 服务崩溃/异常 | 🔴 高危 |
5.高效使用技巧
①标签管理
- **重命名标签**:右键标签 → `Rename tab`
- **整理测试流程**:按漏洞类型分类标签
- **并行测试**:多个标签同时操作
②协作功能
- **添加注释**:右键请求 → `Add comment`
- **高亮标记**:右键响应 → `Highlight`
- **比较响应**:`Comparer` 工具集成
③快捷键操作
功能 | 快捷键 | 效率提升 |
---|---|---|
发送请求 | Ctrl+R | ⚡⚡⚡ |
切换标签 | Ctrl+Tab | ⚡⚡ |
清空请求 | Ctrl+X | ⚡ |
复制URL | Ctrl+U | ⚡⚡ |
1.1.4 Intruder攻击器功能
核心定位:自动化Web应用攻击平台
核心价值:批量请求攻击 → 暴力破解/模糊测试/参数枚举
🎯 Intruder四步攻击流程
📋 Intruder实战检查清单
- [ ] 配置hosts解析
- [ ] 拦截登录请求
- [ ] 标记攻击参数
- [ ] 准备字典文件
- [ ] 设置攻击模式
- [ ] 分析异常响应
- [ ] 验证成功结果
- [ ] 清理测试痕迹
🛠️ Intruder攻击类型对比
攻击类型 | 标记点数量 | 适用场景 |
---|---|---|
Sniper(狙击) | 单个参数 | 密码爆破/单参数模糊测试 |
Battering ram(冲撞) | 多个参数 | 相同值同时测试多个点 |
Pitchfork(叉子) | 多参数对应 | 多字段字典组合攻击 |
Cluster bomb(集束炸弹) | 多参数组合 | 完全交叉组合测试 |
🔥 本例使用Sniper模式针对密码字段进行爆破
1. 环境配置前置步骤
①Hosts文件配置
# 编辑Kali hosts文件
sudo nano /etc/hosts# 添加解析记录
192.168.50.16 offsecwp
②目标访问流程
从Firefox浏览到http://offsecwp/wp-login.php(根据host会到达192.168.50.16这台主机)。
然后,分别输入“admin”和“test”作为用户名和密码,并点击登录。
这么做的目的是到BP中获取到http请求包,并进行重放攻击。
2.请求定位与参数标记
1. **Proxy > HTTP history** 找到登录POST请求
2. 右键 → `Send to Intruder`
3. 进入 `Positions` 子标签
4. 点击 `Clear` 清除默认标记
5. 选择密码参数值 → 点击 `Add` 标记- 原始: `pwd=test§`- 标记后: `pwd=§test§`
在右侧栏上按 Clear按钮,清除所有字段。然后,选择pwd键的值,并按右侧的Add按钮。现在,已经指示Intruder仅在每个新请求中修改密码值。
3.创建密码字典
1. 进入 `Payloads` 子标签
2. 选择载荷类型: `Simple list`
3. 加载rockyou字典前10个密码:12345612345123456789password # 实际上的正确密码,但此时不知道。一会观察与其他密码的结果有什么不同iloveyouprincess1234567rockyou12345678abc123
4.攻击执行与监控
- 点击右上角 `Start attack`
- 观察新窗口中的实时结果
- 关注**状态码**和**长度**变化
📊 攻击结果分析矩阵
请求# | 测试密码 | 状态码 | 响应长度 | 结果分析 |
---|---|---|---|---|
1 | rockyou | 200 | 默认 | 失败 |
2 | 123456 | 200 | 默认 | 失败 |
3 | 12345678 | 200 | 默认 | 失败 |
4 | password | 302 | 不同 | ✅ 成功 |
5 | 12345 | 200 | 默认 | 失败 |
... | ... | ... | ... | ... |
🚩 关键指标:状态码302表示重定向 → 认证成功跳转
跳转的页面(登录成功后的页面):
🚨 注意事项与防护
! 法律风险: 仅对授权目标使用,确保拥有书面授权协议
! 业务影响: 暴力破解可能锁定账户,使用低频率测试避免业务中断
! 日志记录: 攻击会产生大量日志,使用匿名代理保护测试源IP
💥创作不易💥求一波暴击👉点赞❤️ 关注🔔 收藏⭐️ 评论💬
您的支持是我创作最大的动力!