普及常见业务逻辑漏洞与测试业务逻辑漏洞方法
业务逻辑
不同的项目有不同的功能,不同的功能需要不同的实现,实现这些核心功能的代码就叫业务逻辑。
比如实现两个数求和功能,所写的如何获得任意给定的两个数的和,这个程序实现过程即可成为 业务逻辑处理。
业务是指一个实体单元向另一个实体单元提供的服务。
逻辑是指根据已有的信息推出合理的结论的规律。
业务逻辑是指一个实体单元为了向另一个实体单元提供服务,应该具备的规则与流程
业务逻辑的内容包括四个部分:
领域实体:定义了业务中的对象,对象有属性和行为
业务规则:定义了需要完成一个动作,必须满足的条件
数据完整性:某些数据不可少
工作流:定义了领域实体之间的交互关系
以用户网购衣服为例:
领域实体:用户、资金账户、订单、衣服、发货单
业务规则:用户点击购买就会生成订单,但必须付了钱才会发货,生成发货单
数据完整性:网购必须登录网购平台账号,没有账号就不能成功购买
工作流:搜索衣服->找到合适衣服->下单购买->付款->收货
每个业务系统都具有不同的业务逻辑,而业务逻辑背后就是人的逻辑,充分了解业
务逻辑有助于找出其中的问题所在。
业务逻辑漏洞是指由于程序逻辑不严谨或逻辑太复杂,导致一些逻辑分支不能正常
处理或处理错误。
业务逻辑漏洞出现于业务流程中(模块功能),也就是说网站的部分都有可能存在
逻辑错误漏洞。
常见业务逻辑问题:
支付逻辑漏洞
支付逻辑漏洞是指系统的支付流程中存在业务逻辑层面的漏洞。
支付流程通常为:
选择商品和数量→选择支付和配送方式→生成订单订单支付→完成
最常见的支付逻辑漏洞通常是由于服务器端没有对客户端请求数据中金额、数量等

本文探讨了业务逻辑漏洞的概念,以用户网购衣服为例解释了业务逻辑的组成部分。支付逻辑漏洞是常见的业务逻辑问题,如修改支付金额、商品数量和编号,可能导致经济损失。预防策略包括多重校验和人工审核。此外,还提到了API逻辑漏洞,如参数校验不全、无加密和身份验证,可能导致信息泄露和安全风险。重放攻击也是需要注意的安全问题。

951

被折叠的 条评论
为什么被折叠?



