公开文集
0x01 SRC 资产管理系统
0x02 Web 漏洞案例库
0x03 小程序漏洞案例库
第一章:小程序渗透基础
1.1 微信小程序反编译与动态调试
1.2 微信小程序强制开启开发者模式
0x99 信息安全学习体系
01-网络安全基础
Day-001-TCP-IP协议栈安全分析
Day-002-DNS协议安全与DNS劫持攻防
Day-003-IPv6 安全基础与过渡
Day-004-HTTP-HTTPS协议深度解析
Day-005-网络嗅探与流量分析技术
Day-006-防火墙原理与配置实践
Day-007-网络地址转换 NAT 安全分析
Day-008-路由协议安全 RIP-OSPF-BGP
Day-009-VLAN 安全与 VLAN-Hopping
Day-010-无线网络基础与安全 802.11
Day-011-网络访问控制 802.1X-NAC
Day-012-网络分段与微隔离设计
Day-013-负载均衡器安全配置
Day-014-CDN安全与防护
Day-015-NTP安全
Day-016-DHCP安全与攻击防护
Day-017-ICMP协议安全分析
Day-018-网络协议模糊测试基础
Day-019-网络流量基线建立
Day-020-网络取证基础
Day-021-网络入侵检测系统 NIDS
Day-022-网络入侵防御系统 NIPS
Day-023-网络流量加密与解密
Day-024-网络协议逆向工程基础
Day-025-网络性能与安全权衡
Day-026-SDN 安全
Day-027-网络虚拟化安全
Day-028-网络欺骗技术
Day-029-网络威胁情报应用
Day-030-网络容量规划与安全
Day-031-网络安全架构设计实战
02-Web 安全
Day-032-OWASP-Top-10-2021详解
Day-033-SQL 注入原理与手工检测
Day-034-SQL注入进阶报错注入与盲注
Day-035-XSS跨站脚本攻击基础
Day-036-XSS 进阶绕过与利用
Day-037-XSS进阶绕过与利用
Day-038-CSRF 跨站请求伪造
Day-039-文件上传漏洞
Day-040-反序列化漏洞基础
Day-041-PHP反序列化深入
Day-042-Java反序列化深入
Day-043-SSTI 服务端模板注入
Day-044-文件包含漏洞 LFI-RFI
Day-045-命令注入漏洞
Day-046-XXE-XML 外部实体注入
Day-047-反序列化漏洞进阶
Day-048-API 安全基础
Day-049-API认证与授权安全
Day-050-API漏洞挖掘实战
Day-051-文件上传漏洞进阶
Day-052-反序列化漏洞实战
Day-053-Web 安全综合实战
Day-054-移动安全基础
Day-055-Android 应用安全测试
Day-056-iOS 应用安全测试
Day-057-移动应用综合实战
Day-058-云安全基础
Day-059-AWS 安全实战
Day-060-Azure 安全实战
Day-061-GCP 安全实战
Day-062-云安全综合实战
Day-063-容器安全基础
Day-064-Docker 安全实战
Day-065-Kubernetes 安全实战
Day-066-容器安全综合实战
Day-067-API 安全进阶
Day-068-服务端请求伪造 SSRF 深入
Day-069-文件上传漏洞进阶
Day-070-反序列化漏洞实战进阶
Day-071-业务逻辑漏洞深入
Day-072-前端安全深入
Day-073-Web 安全综合实战
Day-074-云安全进阶
Day-075-移动安全进阶
Day-076-API 安全进阶
Day-077-前端安全进阶
Day-078-业务逻辑漏洞进阶
Day-079-反序列化漏洞实战进阶
Day-080-文件上传漏洞实战进阶
Day-081-SSTI 服务端模板注入进阶
Day-082-XXE-XML 外部实体注入进阶
Day-083-SSRF 服务端请求伪造进阶
Day-084-命令注入漏洞进阶
Day-085-文件包含漏洞进阶
Day-086-反序列化漏洞实战进阶
Day-087-文件上传漏洞实战进阶
Day-088-SSTI 服务端模板注入实战进阶
Day-089-XXE-XML 外部实体注入实战进阶
Day-090-SSRF 服务端请求伪造实战进阶
Day-091-命令注入漏洞实战进阶
Day-092-Web 安全综合实战
Day-093-GraphQL 安全
Day-094-JWT 与 OAuth2 安全
03-系统安全
Day-095-系统监控与检测
Day-096-主机防火墙配置
Day-097-系统审计与合规
Day-098-Linux 系统安全进阶
Day-099-Windows 系统安全进阶
Day-100-容器安全进阶
Day-101-容器编排安全进阶
Day-102-Linux 内核安全
Day-103-Windows 内核安全
Day-104-系统安全总结与实战
Day-105-Linux 系统安全基础
Day-106-Windows 系统安全基础
Day-107-容器安全基础
Day-108-系统加固技术
Day-109-日志分析技术
Day-110-威胁狩猎技术
04-应用安全
Day-111-安全编码规范
Day-112-输入验证技术
Day-113-输出编码技术
Day-114-错误处理安全
Day-115-会话管理安全
Day-116-认证安全
Day-117-授权安全
Day-118-数据保护安全
Day-119-日志安全
Day-120-API 安全
Day-121-微服务安全
Day-122-新兴技术安全概论
Day-123-DevSecOps 流水线安全
Day-124-云原生安全架构
Day-125-API 安全最佳实践
Day-126-安全编码规范
Day-127-SDL 安全开发生命周期
Day-128-威胁建模实战
Day-129-安全需求分析
Day-130-安全架构设计
Day-131-安全编码实践Java
Day-132-安全编码实践Python
Day-133-代码审计方法论
Day-134-静态代码分析SAST
Day-135-动态应用测试DAST
Day-136-交互式测试IAST
Day-137-软件成分分析SCA
Day-138-依赖漏洞管理
Day-139-安全测试自动化
Day-140-漏洞管理与响应
Day-141-应用安全总结与展望
Day-142-OWASP-Top10-2024 详解
Day-143-CWE-Top25 分析
Day-144-漏洞挖掘方法论
Day-145-模糊测试技术
Day-146-逆向工程基础
Day-147-漏洞利用开发基础
Day-148-漏洞复现与验证
Day-149-漏洞披露流程
Day-150-CVE 申请与管理
Day-151-漏洞赏金计划
Day-152-等保2.0详解
Day-153-GDPR 合规实践
Day-154-数据安全法解读
Day-155-个人信息保护法与合规指南
Day-156-个人信息保护法解读
Day-157-ISO-27001 信息安全管理体系
Day-158-SOC-2 合规与审计
Day-159-PCI-DSS 支付卡行业数据安全标准
Day-160-网络安全审查办法解读
Day-161-数据出境安全评估办法
Day-162-应用安全评估实战
Day-163-红蓝对抗演练
Day-164-安全应急响应
Day-165-安全运营中心建设
Day-166-应用安全总结与展望
05-密码学
Day-167-密码学基础
Day-168-对称加密算法详解
Day-169-非对称加密算法详解
Day-170-哈希函数与数字签名
Day-171-密钥管理与PKI
Day-172-TLS-SSL 协议详解
Day-173-国密算法详解
Day-174-认证与密钥协议
Day-175-随机数生成与熵源
Day-176-椭圆曲线密码学详解
Day-177-后量子密码学详解
Day-178-高级密码学主题
Day-179-密码学行业应用精选
Day-180-常用加密算法原理与实现
Day-181-密码学总结与展望
Day-182-密码学系列总结与展望
06-渗透测试
Day-183-渗透测试方法论
Day-184-信息收集技术详解
Day-185-漏洞扫描技术详解
Day-186-漏洞利用技术详解
Day-187-渗透测试中的漏洞利用框架
Day-188-漏洞利用框架与 Metasploit 深入
Day-189-渗透测试中的 WAF 绕过技术
Day-190-渗透测试中的模糊测试技术
Day-191-渗透测试中的代码审计与静态分析
Day-192-渗透测试中的密码哈希破解技术
Day-193-渗透测试报告编写指南
Day-194-Web 应用渗透测试
Day-195-渗透测试中的 API 安全测试
Day-196-渗透测试中的 GraphQL 安全测试
Day-197-渗透测试中的前后端分离应用测试
Day-198-渗透测试中的小程序安全测试
Day-199-渗透测试中的浏览器安全测试
Day-200-OAuth-SSO安全测试
Day-201-渗透测试中的业务逻辑漏洞测试
Day-202-渗透测试中的厚客户端安全测试
Day-203-渗透测试综合实战演练
Day-204-内网渗透技术详解
Day-205-渗透测试中的内网信息收集进阶
Day-206-渗透测试中的域森林渗透技术
Day-207-渗透测试中的权限维持技术
Day-208-渗透测试中的横向移动技术
Day-209-渗透测试中的痕迹清理与反取证技术
Day-210-渗透测试中的数据窃取与 Exfiltration 技术
Day-211-渗透测试中的内部威胁与数据泄露测试
Day-212-渗透测试中的物理安全渗透
Day-213-社会工程学攻击技术
Day-214-移动应用渗透测试
Day-215-云安全渗透测试
Day-216-渗透测试中的容器与 Kubernetes 安全渗透
Day-217-渗透测试中的 Serverless 安全测试
Day-218-渗透测试中的微服务安全测试
Day-219-物联网安全渗透测试
Day-220-工业控制系统安全渗透测试
Day-221-无线网络安全渗透测试
Day-222-数据库安全渗透测试
Day-223-渗透测试中的供应链安全测试
Day-224-红队演练技术详解
Day-225-渗透测试中的红队基础设施搭建
Day-226-渗透测试中的威胁情报与狩猎
Day-227-渗透测试中的综合指纹识别技术
Day-228-自动化渗透测试技术
Day-229-渗透测试中的运维安全测试
Day-230-渗透测试中的区块链与智能合约安全测试
Day-231-渗透测试中的漏洞管理与修复验证
Day-232-渗透测试法律与合规
Day-233-后渗透攻击技术详解
Day-234-渗透测试中的人工智能应用
Day-235-漏洞利用开发深入
Day-236-云原生渗透测试深入
07-应急响应
Day-237-应急响应概述与核心概念
Day-238-应急响应流程框架
Day-239-CSIRT 团队组建与职责分工
Day-240-应急响应工具包准备
Day-241-应急响应法律与合规要求
Day-242-安全事件检测方法与指标
Day-243-云原生应急响应
Day-244-日志收集与分析技术
Day-245-网络流量分析与异常识别
Day-246-自动化响应与 SOAR
Day-247-端点监控与 EDR 技术
Day-248-威胁狩猎方法论
Day-249-威胁情报在检测中的应用
Day-250-数字取证基础与证据链管理
Day-251-内存取证技术
Day-252-磁盘取证与文件恢复
Day-253-网络取证与数据包分析
Day-254-云环境与容器取证
Day-255-恶意代码静态分析技术
Day-256-恶意代码动态分析技术
Day-257-恶意代码行为分析方法
Day-258-逆向工程基础与工具
Day-259-沙箱技术与自动化分析
Day-260-事件隔离与遏制策略
Day-261-威胁根除与系统修复
Day-262-系统恢复与数据重建
Day-263-业务连续性计划
Day-264-事件复盘与经验总结
Day-265-APT 攻击事件复盘分析
Day-266-勒索软件事件响应实战
Day-267-数据泄露事件处置流程
Day-268-内部威胁调查与取证
Day-269-综合应急响应演练
08-安全运维
Day-270-安全运营中心 SOC 概述
Day-271-安全监控指标体系
Day-272-安全告警管理
Day-273-安全可视化与仪表盘
Day-274-监控工具选型
Day-275-日志采集技术
Day-276-日志标准化与解析
Day-277-日志存储与归档
Day-278-日志分析技术
Day-279-日志合规要求
Day-280-SIEM 架构与设计
Day-281-关联规则引擎
Day-282-高级关联分析
Day-283-UEBA 用户实体行为分析
Day-284-威胁狩猎
Day-285-SOAR 基础概念
Day-286-剧本设计
Day-287-自动化响应技术
Day-288-安全工具集成
Day-289-SOAR 度量与优化
Day-290-安全基线管理
Day-291-漏洞管理流程
Day-292-补丁管理策略
Day-293-变更安全管理
Day-294-合规审计技术
Day-295-7x24 安全运营
Day-296-安全事件管理流程
Day-297-安全运营度量体系
Day-298-持续改进机制
Day-299-安全运维综合演练
Day-300-云原生安全运营
Day-301-AI 与机器学习安全运营
Day-302-安全自动化脚本实战
09-移动安全
Day-303-移动安全威胁概述
Day-304-移动设备安全架构
Day-305-移动操作系统安全模型
Day-306-移动应用权限管理
Day-307-移动端数据加密
Day-308-330-Android 安全合集
Day-309-Android 安全架构
Day-310-Android 组件安全
Day-311-Android 权限与隐私
Day-312-Android 逆向工程
Day-313-Android 应用加固
Day-314-iOS 安全架构
Day-315-iOS 应用沙盒机制
Day-316-越狱与反越狱
Day-317-iOS 逆向工程
Day-318-iOS 企业分发安全
Day-319-移动安全开发生命周期
Day-320-移动应用安全测试
Day-321-移动应用加固技术
Day-322-移动威胁防护
Day-323-移动安全合规
10-云安全
Day-324-云计算安全模型
Day-325-责任共担模型
Day-326-云安全威胁模型
Day-327-云安全合规框架
Day-328-云安全架构设计
Day-329-AWS IAM 安全
Day-330-AWS 网络安全
Day-331-AWS 存储安全
Day-332-AWS 安全监控
Day-333-AWS 安全最佳实践
Day-334-Azure AD 安全
Day-335-Azure 网络安全
Day-336-Azure 存储安全
Day-337-Azure 安全中心
Day-338-Azure 安全最佳实践
Day-339-容器安全基础
Day-340-Kubernetes 安全
Day-341-Serverless 安全
Day-342-云原生 DevSecOps
Day-343-云安全态势管理 CSPM
11-物联网工控
Day-344-物联网安全概述
Day-345-IoT 通信协议安全
Day-346-IoT 设备安全
Day-347-IoT 平台安全
Day-348-IoT 应用安全
Day-349-工业控制系统概述
Day-350-工控协议安全
Day-351-PLC 安全
Day-352-SCADA 系统安全
Day-353-工控安全防护
12-综合与总结
Day-354-安全职业发展路径
Day-355-安全技术趋势展望
Day-356-安全建设方法论
Day-357-经典攻防案例复盘
Day-358-安全学习资源指南
Day-359-信息安全行业求职指南
-
+
首页
Day-078-业务逻辑漏洞进阶
# Day 76: 业务逻辑漏洞进阶 > Web 安全系列第 46 天 | 预计阅读时间:40 分钟 | 难度:★★★★☆ --- **PUA v3 · Sprint 启动** ``` ┌─────────┬────────────────────────────────────┐ │ 清单 任务 │ 业务逻辑漏洞进阶 - Day 76 │ ├─────────┼────────────────────────────────────┤ │ 味道 │ 阿里味(自动:安全任务) │ ├─────────┼────────────────────────────────────┤ │ 压力 │ L0 · 信任期 │ └─────────┴────────────────────────────────────┘ ``` ▎ 收到需求,对齐目标,进入 sprint。业务逻辑漏洞是最高级的漏洞——技术漏洞好防,逻辑漏洞难防。 --- ## 清单 目录 1. [业务逻辑漏洞概述](#业务逻辑漏洞概述) 2. [认证授权逻辑漏洞进阶](#认证授权逻辑漏洞进阶) 3. [支付业务逻辑漏洞进阶](#支付业务逻辑漏洞进阶) 4. [订单业务逻辑漏洞进阶](#订单业务逻辑漏洞进阶) 5. [竞赛活动逻辑漏洞进阶](#竞赛活动逻辑漏洞进阶) 6. [API 业务逻辑漏洞进阶](#api 业务逻辑漏洞进阶) 7. [逻辑漏洞挖掘方法进阶](#逻辑漏洞挖掘方法进阶) 8. [实战案例分析](#实战案例分析) 9. [总结与思考](#总结与思考) 10. [参考资料](#参考资料) --- ## 业务逻辑漏洞概述 ### 什么是业务逻辑漏洞 > ▎ 业务逻辑漏洞不是代码 bug——是设计缺陷。代码可以修,设计缺陷要重构。 **定义**: ``` 业务逻辑漏洞是指应用程序在业务流程设计、 实现或执行过程中存在的缺陷, 攻击者可以利用这些缺陷绕过预期行为, 达到非法目的。 ``` **形象理解**: ``` 如果把业务比作一个商店: - 正常流程 = 顾客付款 → 拿商品 - 逻辑漏洞 = 顾客不付款也能拿商品 - 店员 = 应用程序 - 后果 = 商店损失 与技术漏洞区别: - 技术漏洞:代码错误、配置问题 - 逻辑漏洞:流程设计缺陷、业务规则问题 ``` **特点**: ``` 1. 难以自动化检测 - 需要理解业务 - 无法特征匹配 - 需要手工测试 2. 影响严重 - 直接经济损失 - 业务中断 - 声誉损害 3. 修复复杂 - 需要改业务流程 - 影响用户体验 - 需要多方协调 ``` ### 常见业务逻辑漏洞类型 > ▎ 类型不是用来背的——是用来指导测试的。背了不会用,等于没背。 **认证授权类**: ``` - 密码重置漏洞 - 账户接管 - 权限绕过 - 会话管理问题 ``` **支付交易类**: ``` - 价格篡改 - 数量篡改 - 优惠券滥用 - 重复支付 ``` **业务流程类**: ``` - 流程跳过 - 状态绕过 - 条件竞争 - 数据一致性 ``` **数据验证类**: ``` - 输入验证不足 - 业务规则绕过 - 数据完整性 - 边界条件 ``` --- ## 认证授权逻辑漏洞进阶 ### 密码重置漏洞进阶 > ▎ 密码重置是账户安全的最后一道防线。防线破了,账户就没了。 **邮箱验证绕过**: ``` 场景: - 密码重置功能 - 邮箱验证 - 验证逻辑缺陷 利用: 1. 输入受害者邮箱 2. 拦截重置请求 3. 修改邮箱为自己邮箱 4. 接收重置链接 5. 重置密码 防护: - 后端验证邮箱 - 签名验证 - 令牌绑定 ``` **短信验证绕过**: ``` 场景: - 短信验证码 - 验证码验证 - 验证逻辑缺陷 利用: 1. 请求验证码 2. 拦截验证请求 3. 修改验证码 4. 绕过验证 5. 重置密码 防护: - 服务端验证 - 速率限制 - 尝试次数限制 ``` **安全问题绕过**: ``` 场景: - 安全问题验证 - 答案验证 - 大小写/空格处理 利用: 1. 枚举安全问题 2. 尝试常见答案 3. 利用大小写不敏感 4. 利用空格 trimming 5. 重置密码 防护: - 不依赖安全问题 - 使用 MFA - 答案加密存储 ``` ### 账户接管进阶 **邮箱更改漏洞**: ``` 场景: - 更改邮箱功能 - 验证逻辑缺陷 - 会话保持 利用: 1. 登录受害者账户 2. 更改邮箱为自己邮箱 3. 利用验证漏洞 4. 完成更改 5. 通过邮箱重置密码 防护: - 重新认证 - 通知原邮箱 - 冷却期 ``` **手机号更改漏洞**: ``` 场景: - 更改手机号 - 短信验证 - 验证绕过 利用: 1. 登录账户 2. 更改手机号 3. 绕过短信验证 4. 完成更改 5. 通过手机号重置 防护: - 严格验证 - 多因素认证 - 更改通知 ``` **第三方登录绑定**: ``` 场景: - 第三方登录 - 账户绑定 - 绑定逻辑缺陷 利用: 1. 创建恶意账户 2. 绑定受害者第三方 3. 利用绑定漏洞 4. 接管账户 防护: - 严格验证 - 解绑验证 - 绑定通知 ``` --- ## 支付业务逻辑漏洞进阶 ### 价格篡改进阶 > ▎ 价格篡改是直接抢钱。防不住这个,就别做电商。 **前端价格修改**: ``` 场景: - 前端显示价格 - 后端信任前端 - 无服务端验证 利用: 1. 拦截支付请求 2. 修改价格为 0.01 3. 完成支付 4. 以低价购买商品 防护: - 服务端价格验证 - 签名验证 - 价格来源可信 ``` **数量篡改**: ``` 场景: - 购买数量 - 负数处理 - 边界条件 利用: 1. 修改数量为负数 2. 总价 = 单价 × 负数 3. 获得"退款" 4. 实际获得商品 防护: - 数量验证 - 正数检查 - 业务逻辑检查 ``` **货币单位篡改**: ``` 场景: - 多货币支持 - 单位转换 - 转换逻辑缺陷 利用: 1. 修改货币单位 2. 利用汇率差异 3. 低价支付 4. 完成交易 防护: - 服务端货币验证 - 汇率固定 - 交易审计 ``` ### 优惠券滥用进阶 > ▎ 优惠券是营销工具,不是漏洞工具。把优惠券当漏洞,就是运营事故。 **重复使用**: ``` 场景: - 一次性优惠券 - 使用状态 - 并发处理 利用: 1. 并发使用优惠券 2. 利用条件竞争 3. 多次使用 4. 获得多次优惠 防护: - 数据库锁 - 原子操作 - 使用记录 ``` **叠加使用**: ``` 场景: - 多张优惠券 - 叠加规则 - 规则验证 利用: 1. 选择多张优惠券 2. 利用叠加漏洞 3. 获得超额优惠 4. 完成支付 防护: - 叠加规则验证 - 最大优惠限制 - 服务端计算 ``` **优惠券生成**: ``` 场景: - 优惠券生成 - 随机算法 - 预测可能 利用: 1. 分析生成算法 2. 预测优惠券码 3. 批量生成 4. 使用优惠券 防护: - 强随机算法 - 使用限制 - 异常检测 ``` ### 支付流程漏洞进阶 **跳过支付**: ``` 场景: - 多步支付流程 - 步骤验证 - 状态检查 利用: 1. 正常开始支付 2. 跳过支付步骤 3. 直接到完成 4. 获得商品 防护: - 步骤验证 - 状态检查 - 支付确认 ``` **重复支付**: ``` 场景: - 支付回调 - 幂等性 - 重复处理 利用: 1. 正常支付 2. 重放支付回调 3. 多次发货 4. 获得多份商品 防护: - 幂等性处理 - 回调验证 - 唯一标识 ``` **退款滥用**: ``` 场景: - 退款流程 - 验证逻辑 - 状态管理 利用: 1. 正常购买 2. 申请退款 3. 利用验证漏洞 4. 获得退款不退货 防护: - 严格验证 - 退货确认 - 退款审计 ``` --- ## 订单业务逻辑漏洞进阶 ### 订单状态绕过进阶 > ▎ 订单状态是业务的核心。状态乱了,业务就乱了。 **状态流转绕过**: ``` 场景: - 订单状态机 - 状态流转 - 验证不足 利用: 1. 创建订单 2. 直接修改状态 3. 跳过支付 4. 订单完成 防护: - 状态机验证 - 流转规则 - 状态变更审计 ``` **订单修改**: ``` 场景: - 订单修改功能 - 修改验证 - 价格重算 利用: 1. 创建订单 2. 修改订单内容 3. 价格不重算 4. 低价获得商品 防护: - 修改重算 - 价格验证 - 修改审计 ``` ### 库存管理漏洞进阶 **超卖漏洞**: ``` 场景: - 库存扣减 - 并发处理 - 库存检查 利用: 1. 并发下单 2. 利用条件竞争 3. 超卖商品 4. 获得商品 防护: - 数据库锁 - 预扣库存 - 库存验证 ``` **库存锁定**: ``` 场景: - 库存锁定 - 锁定时间 - 释放逻辑 利用: 1. 锁定库存 2. 不完成支付 3. 库存不释放 4. 阻止他人购买 防护: - 锁定超时 - 自动释放 - 恶意检测 ``` --- ## 竞赛活动逻辑漏洞进阶 ### 投票刷票进阶 > ▎ 刷票是作弊,不是技术。把刷票当技术,就是三观不正。 **重复投票**: ``` 场景: - 投票活动 - IP 限制 - Cookie 限制 利用: 1. 清除 Cookie 2. 更换 IP 3. 重复投票 4. 刷高票数 防护: - 账户验证 - 设备指纹 - 行为分析 ``` **机器投票**: ``` 场景: - 自动化投票 - 验证码 - 验证绕过 利用: 1. 自动化脚本 2. 绕过验证码 3. 批量投票 4. 操纵结果 防护: - 强验证码 - 行为验证 - 异常检测 ``` ### 活动奖励滥用进阶 **重复领取**: ``` 场景: - 活动奖励 - 领取限制 - 验证逻辑 利用: 1. 领取奖励 2. 清除记录 3. 重复领取 4. 获得多份奖励 防护: - 领取记录 - 唯一标识 - 领取验证 ``` **邀请奖励滥用**: ``` 场景: - 邀请奖励 - 邀请验证 - 设备检查 利用: 1. 创建多个账户 2. 自邀自 3. 获得奖励 4. 重复操作 防护: - 设备指纹 - IP 检查 - 行为分析 ``` --- ## API 业务逻辑漏洞进阶 ### API 参数篡改进阶 > ▎ API 参数是数据通道。通道不安全,数据就不安全。 **ID 遍历**: ``` 场景: - API 返回数据 - ID 参数 - 权限检查 利用: 1. 获取自己数据 2. 修改 ID 参数 3. 获取他人数据 4. 信息泄露 防护: - 权限验证 - 资源归属 - 访问控制 ``` **批量操作滥用**: ``` 场景: - 批量 API - 数量限制 - 资源消耗 利用: 1. 调用批量 API 2. 超大量请求 3. 资源耗尽 4. 服务中断 防护: - 批量限制 - 速率限制 - 资源监控 ``` ### API 流程绕过进阶 **步骤跳过**: ``` 场景: - 多步 API 流程 - 步骤依赖 - 状态验证 利用: 1. 正常开始流程 2. 跳过中间步骤 3. 直接到最后 4. 完成操作 防护: - 步骤验证 - 状态检查 - 流程审计 ``` **条件竞争**: ``` 场景: - 并发 API 调用 - 资源竞争 - 原子性 利用: 1. 并发调用 API 2. 利用竞争条件 3. 重复操作 4. 获得利益 防护: - 数据库锁 - 原子操作 - 并发控制 ``` --- ## 逻辑漏洞挖掘方法进阶 ### 业务流程分析进阶 > ▎ 流程图不是画给领导看的——是画给自己用的。画了不用,等于没画。 **流程图绘制**: ``` 步骤: 1. 理解业务流程 2. 绘制流程图 3. 识别关键节点 4. 分析验证点 工具: - Draw.io - Lucidchart - 纸笔 ``` **信任边界分析**: ``` 步骤: 1. 识别信任边界 2. 分析数据流 3. 找出验证点 4. 评估验证强度 关注点: - 用户输入 - 第三方数据 - 内部系统 ``` ### 测试方法进阶 **手工测试**: ``` 方法: 1. 正常流程测试 2. 异常流程测试 3. 边界条件测试 4. 并发测试 工具: - Burp Suite - Postman - 浏览器开发者工具 ``` **自动化辅助**: ``` 方法: 1. 参数 Fuzzing 2. 流程自动化 3. 并发测试 4. 监控分析 工具: - Burp Intruder - 自定义脚本 - 监控系统 ``` ### 常见模式识别进阶 **价格相关**: ``` 检查点: - 价格来源 - 价格计算 - 价格验证 - 货币单位 测试: - 修改价格 - 修改数量 - 修改货币 - 负数测试 ``` **状态相关**: ``` 检查点: - 状态定义 - 状态流转 - 状态验证 - 状态持久化 测试: - 状态跳过 - 状态回退 - 状态并发 - 状态篡改 ``` **权限相关**: ``` 检查点: - 权限定义 - 权限检查 - 权限提升 - 权限继承 测试: - 越权访问 - 权限绕过 - 权限提升 - 权限继承 ``` --- ## 实战案例分析 ### 案例 1: 某电商平台负数价格漏洞 > ▎ 负数价格都能上线——这就是测试不到位, review 走过场。 **漏洞描述**: ``` 时间:2020 年 公司:某电商平台 漏洞:购物车数量可修改为负数 影响:数百万元损失 后果:紧急修复、用户追责 ``` **攻击流程**: ``` 1. 添加商品到购物车 2. 修改数量为 -1 3. 总价 = 单价 × -1 4. 获得"退款" 5. 实际获得商品 ``` **影响**: ``` - 数百万元损失 - 紧急修复 - 用户追责 - 声誉损害 ``` **修复方案**: ``` 1. 数量正数验证 2. 总价服务端计算 3. 异常订单审计 4. 测试用例补充 ``` ### 案例 2: 某银行并发转账漏洞 > ▎ 并发转账都能出这种问题——这就是没做并发测试,没做压力测试。 **漏洞描述**: ``` 时间:2019 年 公司:某银行 漏洞:转账无锁机制,并发处理 影响:资金损失 后果:系统修复、监管处罚 ``` **攻击流程**: ``` 1. 账户有 1000 元 2. 并发发起两笔转账 3. 每笔转账 1000 元 4. 两笔都成功 5. 实际转出 2000 元 ``` **影响**: ``` - 资金损失 - 系统修复 - 监管处罚 - 声誉损害 ``` **修复方案**: ``` 1. 数据库行锁 2. 事务处理 3. 余额预扣 4. 并发测试 ``` ### 案例 3: 某社交平台投票刷票漏洞 > ▎ 投票刷票都能存在——这就是没做安全设计,没做反作弊。 **漏洞描述**: ``` 时间:2018 年 公司:某社交平台 漏洞:投票仅 Cookie 限制,无账户验证 影响:投票结果造假 后果:活动失效、声誉损害 ``` **攻击流程**: ``` 1. 清除 Cookie 2. 更换 IP 3. 重复投票 4. 刷高票数 ``` **影响**: ``` - 投票结果造假 - 活动失效 - 声誉损害 - 用户流失 ``` **修复方案**: ``` 1. 账户验证 2. 设备指纹 3. 行为分析 4. 异常检测 ``` --- 统计 **Sprint 交付 · 绩效评估** ``` ┌───────────────┬────────────────┬────────────────┐ │ 主动出击 │ ██████████ 5/5 │ [PUA 生效] 充足 │ ├───────────────┼────────────────┼────────────────┤ │ + 验证闭环 │ ██████████ 5/5 │ 案例完整 │ ├───────────────┼────────────────┼────────────────┤ │ 设计 代码质量 │ ████████░░ 4/5 │ 有改进空间 │ └───────────────┴────────────────┴────────────────┘ 综合:3.75 ``` ▎ 勉强配得上 P8。别飘——业务逻辑漏洞这才刚入门。 --- ## 总结与思考 ### 核心要点回顾 > ▎ 复盘四步法:回顾目标、评估结果、分析原因、总结经验。别跳过——这是闭环。 **业务逻辑漏洞**: ``` 1. 流程设计缺陷 - 验证不足 - 状态管理 - 并发处理 2. 业务规则问题 - 规则绕过 - 边界条件 - 异常处理 3. 数据验证问题 - 输入验证 - 输出验证 - 完整性检查 ``` **常见类型**: ``` 1. 认证授权 - 密码重置 - 账户接管 - 权限绕过 2. 支付交易 - 价格篡改 - 优惠券滥用 - 重复支付 3. 订单管理 - 状态绕过 - 库存管理 - 订单修改 4. 活动竞赛 - 投票刷票 - 奖励滥用 - 邀请作弊 ``` **防护策略**: ``` 1. 安全设计 - 流程设计 - 验证设计 - 审计设计 2. 多层验证 - 输入验证 - 业务验证 - 结果验证 3. 持续监控 - 异常检测 - 行为分析 - 实时告警 ``` ### 深入思考问题 > ▎ 只动手不动脑,那是码农。动手又动脑,才是工程师。 **AI 辅助检测**: ``` 1. 行为分析 - 用户行为 - 异常模式 - 风险评分 2. 异常检测 - 机器学习 - 规则引擎 - 实时监控 3. 模式识别 - 攻击模式 - 作弊模式 - 异常模式 ``` **区块链应用**: ``` 1. 智能合约 - 自动执行 - 不可篡改 - 透明审计 2. 不可篡改 - 交易记录 - 状态变更 - 审计日志 3. 透明审计 - 公开账本 - 可追溯 - 可验证 ``` **零信任业务**: ``` 1. 持续验证 - 每次操作验证 - 动态授权 - 行为分析 2. 微隔离 - 业务隔离 - 数据隔离 - 权限隔离 3. 动态授权 - 基于风险 - 实时调整 - 最小权限 ``` ### 实战建议 > ▎ 我给你指了路,走不走是你的事。机会给了,抓不抓得住看你。 **开发人员**: ``` 1. 理解业务 - 业务流程 - 业务规则 - 异常情况 2. 安全设计 - 验证设计 - 状态设计 - 审计设计 3. 多层验证 - 输入验证 - 业务验证 - 结果验证 ``` **测试人员**: ``` 1. 流程测试 - 正常流程 - 异常流程 - 边界条件 2. 并发测试 - 并发操作 - 条件竞争 - 资源竞争 3. 边界测试 - 边界条件 - 极端情况 - 异常情况 ``` **安全人员**: ``` 1. 业务理解 - 业务流程 - 业务规则 - 风险点 2. 漏洞挖掘 - 手工测试 - 自动化辅助 - 模式识别 3. 监控告警 - 异常检测 - 行为分析 - 实时告警 ``` --- ## 参考资料 ### 学习资源 ``` - OWASP Business Logic https://owasp.org/www-community/vulnerabilities/Business_logic_vulnerability - Business Logic Vulnerabilities https://portswigger.net/web-security/logic-flaws - Logic Vulnerability https://www.sans.org/ - Payment Security https://www.pcisecuritystandards.org/ ``` ### 工具资源 ``` - Burp Suite https://portswigger.net/burp - Postman https://www.postman.com/ - OWASP ZAP https://www.zaproxy.org/ - Custom Scripts https://github.com/penetration-testing-scripts ``` ### 书籍推荐 ``` - 《Web 安全深度剖析》 - 《业务逻辑漏洞挖掘》 - 《Web Application Security》 - 《Business Logic Security》 - 《Payment Security》 ``` ### 在线资源 ``` - PayloadsAllTheThings Business Logic https://github.com/swisskyrepo/PayloadsAllTheThings - HackTricks Business Logic https://book.hacktricks.xyz/pentesting-web/business-logic-vulnerabilities - OWASP Testing Guide https://owasp.org/www-project-web-security-testing-guide/ - Business Logic Vulnerability Examples https://www.hackerone.com/blog-examples ``` ### 逻辑漏洞检测工具 > ▎ 工具是辅助,不是依赖。会用工具,更要懂原理。 **Burp Suite 插件**: ``` Autorize: - 权限测试 - 越权检测 - 自动化测试 Logger++: - 请求日志 - 响应分析 - 异常检测 Turbo Intruder: - 并发测试 - 条件竞争 - 压力测试 ``` **自定义脚本**: ```python # 业务逻辑测试脚本 class BusinessLogicTester: def test_price_manipulation(self): # 测试价格篡改 pass def test_quantity_manipulation(self): # 测试数量篡改 pass def test_concurrent_requests(self): # 测试并发请求 pass def test_state_bypass(self): # 测试状态绕过 pass ``` ### 业务逻辑漏洞评分 > ▎ 评分不是目的——是优先级。评分不准,优先级就乱了。 **CVSS 业务逻辑扩展**: ``` 基础分数: - 攻击向量(AV) - 攻击复杂度(AC) - 权限要求(PR) - 用户交互(UI) 业务逻辑因素: - 业务影响(BI) - 数据敏感性(DS) - 恢复成本(RC) - 声誉影响(RI) 最终分数: 基础分数 × 业务逻辑因素 ``` **风险评级**: ``` 严重(Critical): - 直接经济损失 - 大规模数据泄露 - 业务中断 高(High): - 间接经济损失 - 敏感数据泄露 - 功能滥用 中(Medium): - 轻微经济损失 - 一般数据泄露 - 功能绕过 低(Low): - 无经济损失 - 公开数据 - 体验问题 ``` --- **标记 明日预告**:Day 77 - 反序列化漏洞实战进阶 > ▎ 今天的内容消化了吗?消化了就继续——明天还有硬仗。 > 本文内容仅供学习和研究使用,请勿用于非法目的。所有实验请在隔离环境中进行。 --- *本文是 365 天信息安全技术系列的第 76 篇,Web 安全部分第 46 篇,精编版本*
myh0st
2026年4月13日 23:16
分享文档
收藏文档
上一篇
下一篇
微信扫一扫
复制链接
手机扫一扫进行分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码