ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

业务逻辑漏洞全套测试用例(支付逻辑、越权、验证码、密码重置)

业务逻辑漏洞全套测试用例(支付逻辑、越权、验证码、密码重置) 业务逻辑漏洞全套测试用例支付逻辑、越权、验证码、密码重置前言在 Web 安全、SRC 漏洞挖掘、渗透测试工作中业务逻辑漏洞永远是含金量最高、扫描器最难扫、厂商最认可、赏金最高的一类漏洞。SQL 注入、XSS、上传漏洞这类属于 “通用型漏洞”自动化工具可以轻松扫出大部分问题。但业务逻辑漏洞完全依赖人工思维、业务理解、流程拆解90% 的逻辑漏洞扫描器全部漏报。业务逻辑漏洞覆盖范围极广越权访问、支付篡改、验证码绕过、密码重置漏洞、接口逻辑混乱、重复提交、条件竞争、参数篡改、权限绕过等。很多新手挖洞一直低产原因很简单只会打通用漏洞不会拆解业务流程、不会测逻辑漏洞。本文系统化整理四大核心业务逻辑模块越权漏洞全套用例、支付逻辑漏洞、验证码漏洞、密码重置漏洞每一项包含测试场景、详细测试步骤、绕过技巧、漏洞判定、风险等级、修复方案。全文可直接作为企业安全测试 Checklist、SRC 挖洞手册、面试复习资料。免责声明本文内容仅用于授权安全测试、网络安全学习、靶场练习。严禁用于未授权测试、非法渗透违规造成的一切后果由操作者自行承担。一、越权漏洞全套测试用例水平越权 垂直越权 隐藏越权越权漏洞属于 OWASP Top 10 访问控制失效是所有业务漏洞中出现频率最高、最稳定、最容易出分的漏洞类型。核心原理后端只判断用户是否登录未校验当前资源是否属于当前用户。水平越权同级别用户查看 / 修改其他用户数据垂直越权普通用户执行管理员操作完整测试用例表用例编号测试项测试步骤预期安全结果风险等级AUTH_001基础水平越权查询1、登录用户 A获取 A 的订单 ID / 用户 ID / 消息 ID2、保持 A 的 Token/Cookie 不变3、替换参数为用户 B 的 ID 并请求禁止查询他人数据返回无权限高AUTH_002POST/JSON 请求体越权修改 JSON 体内的user_id / order_id / target_id为他人 ID使用自己的 Token 请求后端校验资源归属拦截非法访问高AUTH_003批量 ID 数组越权接口传入ids:[1001,1002,1003]插入其他用户 ID只能查询自己的资源 ID高AUTH_004加密参数越权测试接口 ID 为加密串、UUID、MD5 值替换为其他用户加密 ID 重放加密不代表安全必须后端归属校验高AUTH_005垂直越权 - 后台接口遍历普通用户 Token 直接访问/admin /system /user/list等后台接口普通用户禁止访问管理员接口高危AUTH_006前端隐藏功能越权前端隐藏按钮、禁用按钮直接抓包调用对应接口后端不能依赖前端隐藏必须接口鉴权高AUTH_007越权修改他人资料修改他人手机号、昵称、头像、收货地址禁止修改他人数据高危AUTH_008越权删除资源越权删除他人订单、文件、留言、记录禁止删除他人资源高危AUTH_009越权重置他人密码通过用户 ID 重置任意用户密码严格校验用户归属禁止批量重置超高危AUTH_010未登录越权访问无需登录可直接访问用户数据、订单、文件所有隐私接口必须登录鉴权高AUTH_011会话固定越权更换用户身份后 Session 未刷新可复用旧权限登录必须刷新会话中AUTH_012子账户越权主账户子账号越权查看主账户账单、资产严格区分上下级权限隔离高越权漏洞高阶绕过技巧参数为空绕过不传 user_id部分接口默认查询全部用户数据参数为 0/-1 绕过部分代码对负数、0 未做处理参数覆盖漏洞Body 和 URL 同时传不同 ID看后端是否解析错乱接口拼接漏洞接口后缀参数篡改导致权限失效多租户系统横向漫游租户 ID 可控导致跨租户数据泄露越权修复标准万能修复公式所有查询、修改、删除接口SQL 必须强制携带归属条件WHERE id #{id} AND user_id #{current_login_user_id}禁止只判断是否登录必须判断资源归属人。二、支付逻辑漏洞全套测试用例SRC 高分重点支付逻辑漏洞属于高危 / 严重漏洞一旦测出直接高额赏金属于业务逻辑天花板漏洞。常见场景订单生成、价格计算、支付回调、订单状态篡改、积分抵扣、优惠券、退款、重复支付、0 元购、负数金额。用例编号测试项目测试步骤安全预期风险等级PAY_001价格篡改漏洞下单抓包修改价格字段price0.01、price0、price-99后端价格以服务器为准禁止前端可控严重PAY_002数量溢出篡改修改购买数量为超大数、负数、极值后端限制合法数量区间严重PAY_0030 元购漏洞修改商品价格为 0成功下单无支付禁止 0 元、负数订单严重PAY_004负数金额套现金额改为负数余额增加、金额返还后端严格校验金额大于 0严重PAY_005重复支付 / 重复下单支付成功后重复提交订单、重放支付包订单状态幂等已支付不可重复支付高危PAY_006优惠券无限叠加重复使用优惠券、多份优惠券叠加限制单订单优惠券次数高PAY_007积分无限抵扣修改积分抵扣数值为超大值后端校验用户真实积分余额高PAY_008支付回调伪造伪造 pay_success1、statussuccess 回调参数回调必须验签、校验密钥、校验订单状态严重PAY_009订单状态篡改抓包修改订单状态未付款改已付款订单状态服务端管控前端不可控严重PAY_010退款逻辑漏洞重复退款、超额退款、退款负数校验原订单金额、退款次数高危PAY_011过期订单可支付超时订单仍然可以支付成功后端时间校验订单有效期高PAY_012未支付订单可发货 / 可查看权益未付款订单直接获得会员 / 商品权益必须支付成功再发放权益严重支付漏洞核心原理所有金额、价格、状态、权益判断必须后端计算绝不信任前端传入参数。顶级挖洞思路SRC 大神常用寻找未验签的订单接口寻找状态可篡改的订单字段寻找回调参数可控的接口寻找幂等性失效重复提交寻找数值边界漏洞负数、0、极大值三、验证码逻辑漏洞全套测试用例高频、高通过率验证码漏洞是新手最容易出成果的逻辑漏洞几乎每个网站都或多或少存在问题。核心漏洞点验证码可复用、验证码爆破、验证码为空绕过、验证码万能码、验证码不校验、前端校验失效、验证码超长有效。用例编号测试项测试步骤安全预期风险等级CODE_001验证码为空绕过清空验证码参数不传验证码直接提交必须强制校验验证码高CODE_002验证码复用漏洞同一个验证码多次提交、多次登录 / 重置验证码使用一次立即失效高CODE_003验证码爆破漏洞无次数限制可无限暴力枚举验证码限制错误次数、增加锁定机制高危CODE_004验证码超长有效期几分钟、几小时后验证码仍然可用有效期控制在 60-120 秒中CODE_005前端校验绕过前端 JS 判断验证码后端无校验抓包直接提交所有校验必须放在后端高CODE_006验证码返回明文接口直接返回正确验证码数字禁止返回验证码明文高危CODE_007任意手机号发送验证码可给任意陌生手机号发送验证码短信轰炸限制本机、限制频率、黑名单拦截中CODE_008验证码跳过漏洞删除验证码参数、赋值 null、000000 可绕过参数缺失直接拦截高CODE_009错误验证码不刷新输错验证码不刷新可继续爆破错误立即刷新验证码中CODE_010图形验证码万能码000000、888888、123456 可通用禁止万能验证码高验证码漏洞总结只要验证码不刷新、可复用、可空、可爆破全部属于标准高危逻辑漏洞。四、密码重置逻辑漏洞超级高频 SRC 漏洞密码重置漏洞一旦挖掘成功可接管任意账号属于严重级漏洞。测试用例大全用例编号测试项测试步骤安全预期风险等级RESET_001任意用户密码重置修改手机号 / 用户 ID重置他人账号密码只能重置自己账号严重RESET_002Token 未绑定用户重置 Token 全局通用可重置任意账号Token 必须一对一绑定用户严重RESET_003重置链接长期有效链接几天、永久有效重置链接短时效、一次性高RESET_004重置链接可复用改完密码后链接仍可继续重置使用一次立即失效高RESET_005手机号验证码重置绕过无需验证码直接重置密码必须校验验证码严重RESET_006用户枚举漏洞通过重置接口判断账号是否存在统一返回模糊提示中RESET_007重置参数篡改更改 userid、username 越权重置他人密码后端校验归属严重RESET_008重置无频率限制无限发送重置请求造成骚扰 / 爆破限制频率、IP 封禁中RESET_009未登录重置任意账号无需登录即可重置全站用户密码严格鉴权 二次校验严重RESET_010密码重置弱策略可设置弱口令、与原密码一致强制强密码策略低密码重置漏洞核心成因未绑定用户唯一标识Token 全局通用验证码未校验未做归属判断链接可复用、不过期五、业务逻辑通用高阶测试思路挖洞核心思维1. 所有前端参数全部不可信价格、数量、ID、状态、积分、优惠券、权限全部不能前端控制。2. 所有接口必须做鉴权 归属校验 参数校验三层校验缺一不可。3. 所有状态变更接口必须幂等防止重复下单、重复支付、重复退款、重复提交。4. 所有验证码、Token 必须一次性、短时有效5. 所有金额类数据必须后端计算、验签、防篡改六、最终修复方案总结可直接写进报告越权修复所有接口增加登录鉴权所有资源操作增加用户归属校验管理员接口增加角色权限校验禁止前端控制权限逻辑支付逻辑修复价格、数量、金额全部后端计算订单状态后端管控前端不可篡改支付回调强制验签订单幂等处理防止重复支付严格校验金额正负、区间验证码修复验证码一次有效、超时失效后端强制校验不依赖前端限制错误次数、防爆破禁止空验证码、万能验证码密码重置修复重置 Token 绑定唯一用户链接一次性、短时效严格校验手机号验证码禁止越权重置他人账号结尾业务逻辑漏洞是SRC 挖洞最高分、渗透测试最核心、面试最高频的漏洞体系。通用漏洞可以靠工具逻辑漏洞只能靠思维。掌握本文全套测试用例你可以覆盖市面上95% 以上的业务逻辑漏洞场景无论是工作测试、SRC 挖洞、面试刷题都完全够用。后续将更新业务逻辑漏洞高阶绕过、条件竞争漏洞、接口幂等漏洞、短信轰炸、接口未授权访问全套用例。欢迎点赞、收藏、关注持续更新网安干货很多新手刚接触业务逻辑测试时容易陷入一个误区拿着 Payload 逐个硬测接口盲目寻找漏洞。但业务逻辑测试的核心应该是先跑通完整业务流程站在产品设计者的角度寻找逻辑断点。举个简单例子测试支付功能不能只盯着下单接口要从头到尾梳理商品选择→确认订单→提交订单→唤起支付→支付回调→订单状态变更→发放权益→退款。整条链路里任何一环校验缺失都可能产生严重漏洞。越权、密码重置也是同理不要孤立测试单个接口把整条业务链路串起来更容易发现隐藏的逻辑缺陷。同时在 SRC 提交漏洞的时候逻辑漏洞的报告撰写也尤为关键。通用漏洞放请求包 回显截图基本就能证明危害而业务逻辑漏洞必须清晰描述业务场景、复现步骤、漏洞影响范围最好附带完整的 PoC 请求包。很多同学挖到漏洞但是描述不清厂商直接判定无效或者降低评级白白错失拿高分的机会。另外在企业安全测试场景中业务逻辑漏洞往往比注入、XSS 带来的业务损失更大。注入漏洞一般是数据泄露而支付逻辑漏洞可以直接造成资金损失越权漏洞可能批量泄露大量用户隐私数据。很多开发同学对这类漏洞认知不足觉得 “页面上做了限制就安全了”忽略后端校验这也是逻辑漏洞长期大量存在的根本原因。学习业务逻辑漏洞最重要的是养成质疑习惯所有前端展示的数据我能不能篡改这个操作是否校验操作者身份这个凭证是否一次性生效这个业务流程有没有异常分支多问这几个问题你的挖洞思路会开阔很多。这套测试用例可以直接保存作为你的个人 Checklist每次做安全测试或者挖洞前拿出来对照逐项排查。当然这份清单不是终点业务场景千变万化电商、OA、金融、会员系统、后台管理系统各自都有独特的业务逻辑需要结合业务场景灵活调整测试思路。了解网络安全首先要搞清楚下面这些前提网络安全到底包含哪些技术是否需要会编程网络安全行业有哪些职业方向“我”该如何选择网络安全的职业发展和成长路线是什么如果你是准备学习网络安全黑客或者正在学习下面这些你应该能用得上①网络安全学习路线②20份渗透测试电子书③安全攻防357页笔记④50份安全攻防面试指南⑤安全红队渗透工具包⑥网络安全必备书籍⑦100个漏洞实战案例⑧安全大厂内部视频资源⑨历年CTF夺旗赛题解析一、网络安全黑客学习路线网络安全黑客学习路线形成网络安全领域所有的知识点汇总它的用处就在于你可以按照上面的知识点去找对应的学习资源保证自己学得较为全面。二、网络安全教程视频我们在看视频学习的时候不能光动眼动脑不动手比较科学的学习方法是在理解之后运用它们这时候练手项目就很适合了。三、网络安全CTF实战案例光学理论是没用的要学会跟着一起敲要动手实操才能将自己的所学运用到实际当中去这里带来的是CTFSRC资料HW资料毕竟实战是检验真理的唯一标准嘛~四、网络安全面试题最后我们所有的作为都是为就业服务的所以关键的临门一脚就是咱们的面试题内容所以面试题板块是咱们不可或缺的部分这里我给大家准备的就是我在面试期间准备的资料。网安其实不难难的是坚持和相信自己我的经验是既然已经选定网安你就要相信它相信它能成为你日后进阶的高效渠道这样自己才会更有信念去学习才能在碰到困难的时候坚持下去。机会属于有准备的人这是一个实力的时代。人和人之间的差距不在于智商而在于如何利用业余时间只要你想学习什么时候开始都不晚不要担心这担心那你只需努力剩下的交给时间这份完整版的网络安全学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
返回列表