业务逻辑漏洞:越权、支付漏洞、验证码绕过案例集
扫漏洞的人有时会被工具惯坏SQL 注入、XSS、组件 CVE扫描器多少能给点线索。业务逻辑漏洞偏偏不吃这套——它藏在“下单流程是否允许负数量”“改个订单号能不能看别人的票”“验证码是否真的绑定这次登录”里。代码也许很干净框架也许很新该爆炸还是爆炸。OWASP 把一类问题归进失效的访问控制、不安全设计国内甲方更常直接说越权、支付漏洞、验证码绕过。这三类几乎承包了电商、金融、O2O、后台管理系统的高危业务单。一、业务逻辑漏洞到底是什么一句话系统按设计跑完了流程但设计本身允许被滥用。它不是解析器吃错字符而是该校验的步骤能跳过该绑定的身份没绑定该原子的操作有竞态该服务端定价的金额听了客户端该一次性的验证码能重放、能绕过。所以修法常常不是“加个 WAF 规则”而是改流程、改状态机、改权限模型、改对账。测试方法也要变双账号、画流程图、改步骤顺序、并发重放、算账。二、越权最常见、最好挖、最不该一再犯1. 水平越权IDOR 亲兄弟病灶接口只认“你登录了”不认“这个资源是你的”。案例 A改订单号看他人订单用户 A 登录后请求/api/order?id10086查看自己的订单。把10086改成10087返回 200 且是 B 的数据。变种导出 PDF、物流详情、发票、会话聊天记录、收货地址。案例 B对象存储 URL 可枚举头像、合同、病历 PDF 的链接是https://oss/.../10086.pdf无鉴权或仅靠难猜但可遍历的 ID。越权不一定发生在 API发生在静态资源。案例 CGraphQL/批量接口user(id:)或批量查询一次拉一串用户资料权限宏没写细。修复要点每个对象访问current_user与资源归属校验或统一 ABACID 使用不可预测值可减枚举但不能替代鉴权测试强制双账号互换 ID日志记录授权失败。2. 垂直越权病灶普通用户能调管理接口。案例 D隐藏的管理 API前端隐藏按钮接口/admin/user/delete仍通只检查登录态。变种角色字段在 JWT 里可篡改没验签或弱秘钥isAdmintrue来自请求体。案例 E功能级越权普通客服调用“批量导出全量用户”接口商户调用平台级退款。修复要点服务端强制角色/权限注解前后端分离时前端隐藏≠安全权限变更走统一中间件管理接口网络隔离 强认证。3. 未授权访问病灶鉴权中间件漏挂。案例 F新接口忘加登录迭代赶工新/api/v2/user/profile裸奔。扫描器不一定懂业务但未授权访问清单很好做对比“登录前/登录后”。4. 越权案例集的测试清单双用户水平替换资源 ID普通用户打管理路径字典基于前端 JS 与旧版 APP越权读、越权写、越权删分开测二次验证是否可被跳过改密、绑卡。三、支付漏洞钱的状态机被玩坏支付漏洞敏感这里只讲模式与防法不讲如何对真实支付渠道作案。授权测试也应走测试商户、测试金额、风控沙箱。1. 金额篡改案例 G前端传价格下单请求体{sku:VIP1,price:1}。服务端信任价格生成 1 分钱订单并支付成功。变种数量为 0、负数、小数精度、货币单位分/元弄错。修复价格只来自服务端商品系统客户端只传 sku 与数量校验库存与限购。2. 步骤乱序 / 回调信任案例 H先发货后验签支付回调未验签或验签失败仍更新订单为已支付或攻击者伪造“支付成功”通知。变种用其它订单的支付成功包重放。修复验签、防重放nonce/通知号唯一、以支付渠道查询结果为准、状态机单向。3. 竞态条件案例 I并发下单刷优惠限量券“每人一张”并发 20 个请求各自成功。变种余额扣减、秒杀库存、积分兑换。修复数据库约束/行锁/令牌桶乐观锁版本号核心账务原子事务。4. 重复支付与重复退款案例 J退款按钮连点无幂等键退两次。变种支付成功消息重试导致加两次余额。修复幂等键退款单状态机对账。5. 优惠券 / 活动逻辑案例 K优惠券叠加满减券 折扣券 会员价 未互斥最终实付为负或接近 0系统用 0 下单或异常兜底成免费。案例 L改券适用商品领券接口可改sku绑定把仅限生鲜的券用到手机上。修复服务端重算优惠规则引擎集中化单测覆盖边界金额。6. 代付与分享链接案例 M代付链接固定金额可改订单代付页只带order_id攻击者把订单改成大额或把支付结果导向另一订单。修复支付意图与订单快照绑定支付中锁定订单内容。7. 支付案例集测试清单改价格、改数量、改币种重放回调并发领券/下单退款幂等未支付订单是否可触发履约对账是否能发现长尾异常。8. 支付安全组织建议支付状态机由专人维护任何“为了方便先上线”的客户端定价默认否决定期对账与风控规则复盘。四、验证码绕过小功能大溃堤验证码本该挡住自动化注册、登录、短信、评论、领取。绕过成功后后面往往是撞库、刷短信、刷羊毛、批量注册。1. 前端校验型案例 N验证码只在前端判断抓包发现校验接口可跳过或直接调登录接口不带验证码字段。修复服务端强制校验无验证码的登录路径不存在。2. 可重放 / 不绑定案例 O验证码一次有效却可重复提交同一验证码打登录接口十次。变种验证码与手机号未绑定改手机号仍用旧码或与场景未绑定登录码拿去重置密码。修复一次性、短有效期、绑定会话/手机号/场景用后即废。3. 返回包泄露案例 P响应里回传了验证码测试接口或错误的调试字段把验证码明文返回。修复绝不回传日志脱敏。4. 图形验证码弱点案例 Q题库过小 / 可识别四位纯数字、无干扰自动化识别率极高。变种验证码图片 URL 可枚举历史或验证码接口不限流。修复强度与限流并重高风险场景上短信/MFA/风控考虑成熟验证码服务。5. 短信轰炸与接口滥用案例 R发短信接口无限制send_code可对任意手机无限打造成资损与骚扰。修复图形验证码前置、频率限制、单 IP/单号限额、黑名单、监控告警。6. 逻辑跳过案例 S改响应码客户端根据code0决定下一步攻击者改本地响应“假装验证通过”——若下一步服务端不再验就翻车。修复每一步服务端查“验证码会话已通过”标记禁止客户端自称已验证。7. 语音/邮箱验证码同理同一套绑定与限流原则。8. 验证码案例集测试清单不带验证码直接打下一跳重放换手机号复用跨场景复用爆破注意授权与限速发码接口打自己的号测限流。五、综合案例一次“小需求”串起三类洞合成故事某电商做“好友代付 短信验证领取优惠”。领取接口水平越权可帮任意用户领券越权领券后下单金额可被改支付短信验证码不绑定领取会话可重放验证码。单独看每个都是中高危串起来就是资损事故。安全评审若只做漏扫一个都可能扫不出来——必须走业务测试用例。六、怎么挖业务逻辑漏洞的方法论1. 先画状态机注册、登录、下单、支付、退款、领券——画出状态与迁移条件。问每条迁移的校验在服务端吗能跳步吗2. 身份矩阵游客 / 用户 A / 用户 B / 商户 / 管理员。对每个敏感对象做矩阵测试。3. 信任边界凡是客户端传来的价格、角色、折扣、验证成功标志、文件类型——默认谎言。4. 并发与重放限量、余额、验证码、回调通通丢进并发与重放测试箱。5. 与代码审计结合搜价格入参、isAdmin、验证码校验函数是否全局、支付回调验签函数。七、怎么防制度比单点补丁重要强制服务端鉴权框架拒绝漏挂支付与定价中台化禁止业务私自信客户端金额验证码中台绑定、一次性、限流统一实现业务安全测试用例进回归和功能测试一起跑对账与风控发现漏网变更评审专门问三个问题谁能调钱怎么算验证码能不能跳八、报告怎么写才让业务愿意修少写黑话多写钱与合规“任意用户可查看他人订单含姓名电话地址”“客户端改价可 0 元购存在资损”“短信接口可被用于轰炸导致通道被封与客诉”。附最小复现与回归用例编号修复才能闭环。九、收尾越权问的是你是谁以及这是不是你的东西。支付问的是钱的数目与状态谁说了算。验证码问的是自动化与身份证明是否真在服务端生效。工具扫不出的洞往往靠一张流程图和两个测试账号。案例可以无穷变模式就那些——认准模式业务逻辑漏洞就从“玄学”变成可训练的肌肉记忆。今晚若只做一件事选一个核心下单或个人信息接口用两个账号互改 ID再抓一次发验证码/登录请求试一次不带验证码或重放。做完你大概率已经摸到至少一处“值得建单”的逻辑味道——或幸运地确认你们中台真的有挡。无论哪种结果都比只看扫描报告实在。附三类速查类型一句话病灶关键修复越权没验资源归属/角色服务端强制鉴权支付信客户端或状态机不严服务端定价验签幂等验证码可跳过/可重放/不限流中台绑定一次性限流附最小回归用例集A 用户访问 B 订单 → 应 403改价下单 → 应以服务端价格为准支付回调篡改 → 应拒绝并发领券 → 不得超过限额登录无验证码 → 应失败验证码重放 → 应失败发短信打满频率 → 应拦截

相关新闻

智能配置报价缩短到小时级

智能配置报价缩短到小时级

工业品销售报价需要跨产品、成本和历史价格资料手工拼凑方案。不同产品之间的兼容性约束、定制化选项的价格计算、折扣权限和交付可行性的验证分散在多个部门的表格中。报价周期动辄数天甚至一周,版本管理混乱——同一个客户可能收到多个版本的报价,内容…

2026/10/21 2:11:10 阅读更多 →
智能商机管理摆脱主观判断

智能商机管理摆脱主观判断

制造业销售的商机信息依赖销售人员手工录入和主观判断。客户需求描述、竞争态势、关键决策人关系、历次拜访记录分散在CRM的备注字段和销售的个人笔记本里——信息不完整导致商机评估失真。资源分配缺乏统一的优先级标准,销售人员的时间大量花在低转化率商机上&…

2026/10/21 18:56:21 阅读更多 →
C语言atexit函数:程序退出时的资源清理与生命周期管理

C语言atexit函数:程序退出时的资源清理与生命周期管理

1. 项目概述:atexit函数在C程序生命周期中的角色在C语言的世界里,程序的“善后”工作常常被新手甚至一些有经验的开发者所忽视。我们精心设计了复杂的算法,分配了动态内存,打开了各种文件句柄,但程序结束时&#xff0c…

2026/10/22 23:38:43 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/10/22 10:18:38 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/10/22 11:01:53 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/10/22 9:44:47 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/10/22 10:42:00 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/10/22 10:40:08 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/10/22 10:56:37 阅读更多 →

日新闻

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/22 1:47:45 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/22 21:33:42 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/22 5:12:39 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/22 22:56:44 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/22 22:56:12 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/22 19:06:46 阅读更多 →