业务流程绕过漏洞

admin 2026-04-23 05:47:15 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文解析了业务流程绕过漏洞的成因与利用方法。该漏洞源于服务端未严格校验业务状态,仅依赖客户端参数判断流程是否完成。测试时需抓包对比正常申请与审批数据包,提取状态变更参数并注入申请请求中实现绕过。此缺陷可导致未授权提权或绕过资金审核等严重危害。建议开发者必须在服务端实施严格的流程状态校验与权限复核,绝不信任客户端传入的状态标志。 综合评分: 78 文章分类: 渗透测试,漏洞分析,WEB安全


cover_image

业务流程绕过漏洞

原创

游山玩水 游山玩水

山水SRC

2026年4月22日 08:52 河南

在小说阅读器读本章

去阅读

免责声明

本公众号分享的所有渗透测试技术文章仅面向合法授权的安全测试、学习交流与研究用途。读者必须确保自身行为符合《网络安全法》等相关法律法规,严禁将其用于任何未授权攻击等非法活动。因不当使用或传播相关内容所引发的任何法律责任与风险,由行为人自行承担,本公众号(或本人)概不负责

流程

出现前提

  1. 业务存在一个需要审批或确认的流程(例如:申请权限、提现、修改关键信息)。
  2. 服务端在处理“申请”请求时,未能严格校验该申请当前所处的业务状态。
  3. 服务端仅依赖客户端传来的参数(如状态标志)来判断流程是否完成,而未在服务端进行完整的流程状态验证和权限复核。

测试流程

  1. 正常流程抓包:完整走一遍正常的“申请-同意”流程,使用抓包工具(如Burp Suite)捕获“提交申请”和“管理员同意”两个关键数据包。
  2. 参数对比分析:对比两个数据包,找出“同意”数据包中特有的、能标识状态变更的参数(例如:status=approvedaction=confirmauditUserId=xxx)。
  3. 构造绕过请求:直接重放“提交申请”的数据包,并在其中添加从“同意”数据包中提取的关键参数。
  4. 结果验证:观察是否成功绕过审批流程,直接完成了操作。

危害

攻击者可以在无授权的情况下,直接完成敏感业务操作,例如:

  • 普通用户直接为自己授予管理员权限。
  • 绕过提现审核,直接发起转账。
  • 未经确认修改他人账户信息或敏感设置。

数据包分析与绕过演示

假设一个“用户申请成为VIP”的场景。

1. 正常申请数据包 (POST /api/applyVip)

```

POST /api/applyVip HTTP/1.1 … {“userId”: “1001”, “applyType”: “vip”}

```
  • 分析:此包仅提交申请,服务端预期会创建一个状态为“待审核”的申请记录。

2. 管理员同意数据包 (POST /api/auditApply)

```

POST /api/auditApply HTTP/1.1 … {“applyId”: “20260001”, “auditResult”: “approved”, “auditorId”: “admin01”}

```
  • 分析:此包包含审批动作的核心参数 auditResult,其值 "approved"是触发状态变更的关键。

3. 绕过攻击:在申请包中植入审批参数

攻击者直接修改最初的申请包,植入审批关键参数:

```

POST /api/applyVip HTTP/1.1 … {“userId”: “1001”, “applyType”: “vip”, “auditResult”: “approved”}

```
  • 原理:如果服务端/api/applyVip接口错误地处理了auditResult参数,并仅凭此参数就将申请状态置为“已通过”,则完整流程被绕过。


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:山水SRC 游山玩水 游山玩水《业务流程绕过漏洞》

业务流程绕过漏洞 网络安全文章

业务流程绕过漏洞

文章总结: 本文解析了业务流程绕过漏洞的成因与利用方法。该漏洞源于服务端未严格校验业务状态,仅依赖客户端参数判断流程是否完成。测试时需抓包对比正常申请与审批数据
评论:0   参与:  0