burpsuite官方靶场之逻辑漏洞篇
字数 1994 2025-08-19 12:40:45

Burp Suite官方靶场:逻辑漏洞篇详解

1. 过于信任客户端控件

1.1 实验目标

使用wiener账户购买价值$1337的"Lightweight l33t leather jacket"(账户:wiener/peter)

1.2 攻击步骤

  1. 登录wiener账户,发现账户余额\(100不足以购买目标商品(\)1337)
  2. 将商品加入购物车并抓包
  3. 修改HTTP请求中的price参数值
  4. 转发修改后的请求完成购买

关键点:直接修改客户端提交的价格参数,服务器未做二次验证

2. 高等级的逻辑缺陷

2.1 实验目标

使用wiener账户购买目标商品

2.2 攻击步骤

  1. 登录后进入商品详情页并添加到购物车
  2. 抓包修改quantity为负值(直接结算会被拒绝)
  3. 策略调整:购买1件目标商品+大量负数其他商品,使总价<100

关键点:利用负数商品数量抵消正数商品价格,服务器未验证总价合理性

3. 矛盾的安全控制

3.1 实验目标

访问仅限员工的管理面板并删除carlos账户

3.2 攻击步骤

  1. 注册普通账户(使用提供的邮箱)
  2. 登录后在"My Account"更新邮箱为公司内部邮箱格式
  3. 访问管理面板删除carlos

关键点:仅通过邮箱格式判断员工身份,未做真实权限验证

4. 有缺陷的商业规则实施

4.1 实验目标

利用优惠券逻辑缺陷购买目标商品

4.2 攻击步骤

  1. 登录后发现订阅功能可获取优惠券SIGNUP30
  2. 购买商品时交替使用两张优惠券
  3. 在Burp Repeater中重放优惠券请求

关键点:优惠券可重复叠加使用,服务器未限制使用次数

5. 低等级逻辑缺陷

5.1 实验目标

利用整数溢出漏洞购买目标商品

5.2 攻击步骤

  1. 登录后抓取购买请求
  2. 使用Burp Intruder设置quantity为99并持续发送
  3. 观察购物车总价变为负数(整数溢出)
  4. 精确计算使总价趋近于0

5.3 技术原理

32位有符号整数范围为-2,147,483,648到2,147,483,647。超过最大值会循环到最小值,形成负数。

6. 矛盾的异常输入处理

6.1 实验目标

利用注册流程缺陷访问管理功能

6.2 攻击步骤

  1. 使用内容发现工具找到/admin路径(401)
  2. 注册超长邮箱(259字符),利用截断特性
  3. 构造邮箱:239个'a'+@dontwannacry.com.exploit...
  4. 截断后实际邮箱为@dontwannacry.com

关键点:邮箱验证与权限检查不一致,超长输入被截断

7. 两用端点的弱隔离

7.1 实验目标

利用密码修改功能访问管理员账户

7.2 攻击步骤

  1. 登录普通账户并抓取修改密码请求
  2. 修改请求中的用户名参数为administrator
  3. 重放请求修改管理员密码

关键点:密码修改功能未严格验证用户身份

8. 不充分的工作流程验证

8.1 实验目标

绕过购买流程验证购买目标商品

8.2 攻击步骤

  1. 添加商品到购物车
  2. 抓取/cart/checkout和/cart/order-confirmation请求
  3. 直接重放订单确认请求

关键点:缺少订单状态验证,可直接确认未支付订单

9. 通过有缺陷的状态机绕过身份验证

9.1 实验目标

绕过角色选择直接访问管理界面

9.2 攻击步骤

  1. 正常登录(请求1)
  2. 丢弃/role-selector请求(请求2)
  3. 直接请求home页面(请求4)

关键点:身份验证状态机缺陷,跳过角色选择步骤可获得管理员权限

10. 无限金钱逻辑缺陷

10.1 实验目标

利用礼品卡机制获取无限金钱

10.2 攻击步骤

  1. 使用优惠券SIGNUP30购买礼品卡
  2. 兑换礼品卡获得比花费更多的钱
  3. 使用Burp Macro自动化此过程
  4. 重复操作积累足够资金购买目标商品

关键点:礼品卡价值计算缺陷,优惠券可无限使用

11. 通过加密绕过认证oracle

11.1 实验目标

利用加密oracle伪造管理员cookie

11.2 攻击步骤

  1. 发现stay-logged-in持久性cookie
  2. 分析cookie格式为"username:timestamp"
  3. 利用异常邮件处理的加密oracle
  4. 构造"administrator:timestamp"并加密
  5. 处理加密结果去除"Invalid email address"前缀
  6. 使用伪造cookie获取管理员权限

关键点

  • 加密oracle暴露加解密功能
  • 需要精确处理加密数据格式
  • 填充使数据长度为16的倍数

总结

这些实验展示了Web应用程序中常见的逻辑漏洞类型,包括:

  1. 客户端信任问题
  2. 业务逻辑缺陷
  3. 权限控制不足
  4. 工作流程缺陷
  5. 输入验证不充分
  6. 加密实现问题

防御建议:

  • 关键操作服务器端验证
  • 实施完整的业务流程状态管理
  • 严格的输入验证和输出编码
  • 最小权限原则
  • 避免暴露加密oracle
  • 业务规则合理性检查
Burp Suite官方靶场:逻辑漏洞篇详解 1. 过于信任客户端控件 1.1 实验目标 使用wiener账户购买价值$1337的"Lightweight l33t leather jacket"(账户:wiener/peter) 1.2 攻击步骤 登录wiener账户,发现账户余额$100不足以购买目标商品($1337) 将商品加入购物车并抓包 修改HTTP请求中的price参数值 转发修改后的请求完成购买 关键点 :直接修改客户端提交的价格参数,服务器未做二次验证 2. 高等级的逻辑缺陷 2.1 实验目标 使用wiener账户购买目标商品 2.2 攻击步骤 登录后进入商品详情页并添加到购物车 抓包修改quantity为负值(直接结算会被拒绝) 策略调整:购买1件目标商品+大量负数其他商品,使总价 <100 关键点 :利用负数商品数量抵消正数商品价格,服务器未验证总价合理性 3. 矛盾的安全控制 3.1 实验目标 访问仅限员工的管理面板并删除carlos账户 3.2 攻击步骤 注册普通账户(使用提供的邮箱) 登录后在"My Account"更新邮箱为公司内部邮箱格式 访问管理面板删除carlos 关键点 :仅通过邮箱格式判断员工身份,未做真实权限验证 4. 有缺陷的商业规则实施 4.1 实验目标 利用优惠券逻辑缺陷购买目标商品 4.2 攻击步骤 登录后发现订阅功能可获取优惠券SIGNUP30 购买商品时交替使用两张优惠券 在Burp Repeater中重放优惠券请求 关键点 :优惠券可重复叠加使用,服务器未限制使用次数 5. 低等级逻辑缺陷 5.1 实验目标 利用整数溢出漏洞购买目标商品 5.2 攻击步骤 登录后抓取购买请求 使用Burp Intruder设置quantity为99并持续发送 观察购物车总价变为负数(整数溢出) 精确计算使总价趋近于0 5.3 技术原理 32位有符号整数范围为-2,147,483,648到2,147,483,647。超过最大值会循环到最小值,形成负数。 6. 矛盾的异常输入处理 6.1 实验目标 利用注册流程缺陷访问管理功能 6.2 攻击步骤 使用内容发现工具找到/admin路径(401) 注册超长邮箱(259字符),利用截断特性 构造邮箱:239个'a'+@dontwannacry.com.exploit... 截断后实际邮箱为@dontwannacry.com 关键点 :邮箱验证与权限检查不一致,超长输入被截断 7. 两用端点的弱隔离 7.1 实验目标 利用密码修改功能访问管理员账户 7.2 攻击步骤 登录普通账户并抓取修改密码请求 修改请求中的用户名参数为administrator 重放请求修改管理员密码 关键点 :密码修改功能未严格验证用户身份 8. 不充分的工作流程验证 8.1 实验目标 绕过购买流程验证购买目标商品 8.2 攻击步骤 添加商品到购物车 抓取/cart/checkout和/cart/order-confirmation请求 直接重放订单确认请求 关键点 :缺少订单状态验证,可直接确认未支付订单 9. 通过有缺陷的状态机绕过身份验证 9.1 实验目标 绕过角色选择直接访问管理界面 9.2 攻击步骤 正常登录(请求1) 丢弃/role-selector请求(请求2) 直接请求home页面(请求4) 关键点 :身份验证状态机缺陷,跳过角色选择步骤可获得管理员权限 10. 无限金钱逻辑缺陷 10.1 实验目标 利用礼品卡机制获取无限金钱 10.2 攻击步骤 使用优惠券SIGNUP30购买礼品卡 兑换礼品卡获得比花费更多的钱 使用Burp Macro自动化此过程 重复操作积累足够资金购买目标商品 关键点 :礼品卡价值计算缺陷,优惠券可无限使用 11. 通过加密绕过认证oracle 11.1 实验目标 利用加密oracle伪造管理员cookie 11.2 攻击步骤 发现stay-logged-in持久性cookie 分析cookie格式为"username:timestamp" 利用异常邮件处理的加密oracle 构造"administrator:timestamp"并加密 处理加密结果去除"Invalid email address"前缀 使用伪造cookie获取管理员权限 关键点 : 加密oracle暴露加解密功能 需要精确处理加密数据格式 填充使数据长度为16的倍数 总结 这些实验展示了Web应用程序中常见的逻辑漏洞类型,包括: 客户端信任问题 业务逻辑缺陷 权限控制不足 工作流程缺陷 输入验证不充分 加密实现问题 防御建议: 关键操作服务器端验证 实施完整的业务流程状态管理 严格的输入验证和输出编码 最小权限原则 避免暴露加密oracle 业务规则合理性检查