逻辑漏洞——业务逻辑问题

普及常见业务逻辑漏洞与测试业务逻辑漏洞方法

业务逻辑

  不同的项目有不同的功能,不同的功能需要不同的实现,实现这些核心功能的代码就叫业务逻辑。
  比如实现两个数求和功能,所写的如何获得任意给定的两个数的和,这个程序实现过程即可成为   业务逻辑处理。
  业务是指一个实体单元向另一个实体单元提供的服务。
  逻辑是指根据已有的信息推出合理的结论的规律。
  业务逻辑是指一个实体单元为了向另一个实体单元提供服务,应该具备的规则与流程

业务逻辑的内容包括四个部分:
  领域实体:定义了业务中的对象,对象有属性和行为
  业务规则:定义了需要完成一个动作,必须满足的条件
  数据完整性:某些数据不可少
  工作流:定义了领域实体之间的交互关系
以用户网购衣服为例:
  领域实体:用户、资金账户、订单、衣服、发货单
  业务规则:用户点击购买就会生成订单,但必须付了钱才会发货,生成发货单
数据完整性:网购必须登录网购平台账号,没有账号就不能成功购买
  工作流:搜索衣服->找到合适衣服->下单购买->付款->收货

  每个业务系统都具有不同的业务逻辑,而业务逻辑背后就是人的逻辑,充分了解业
务逻辑有助于找出其中的问题所在。
  业务逻辑漏洞是指由于程序逻辑不严谨或逻辑太复杂,导致一些逻辑分支不能正常
处理或处理错误。
  业务逻辑漏洞出现于业务流程中(模块功能),也就是说网站的部分都有可能存在
逻辑错误漏洞。

常见业务逻辑问题:

支付逻辑漏洞

支付逻辑漏洞是指系统的支付流程中存在业务逻辑层面的漏洞。
支付流程通常为:
   选择商品和数量→选择支付和配送方式→生成订单订单支付→完成
   最常见的支付逻辑漏洞通常是由于服务器端没有对客户端请求数据中金额、数量等敏感信息做校验。
   支付逻辑漏洞一般在电子商务网站上容易出现,在支付流程中由于没有对客户端请求数据中的金额、数量等敏感信息作校验,带来“0元购”、“1分购”等漏洞,会对商家带来大量经济损失。

支付逻辑漏洞一般有以下几种情况:
支付过程中修改支付金额
支付过程中修改商品商量
支付过程中修改商品编号

随便买 一个

 修改URL

案例:修改支付金额
选择商品和数量
提交订单确认支付
抓包,修改支付金额
订单支付,观察跳转到某宝的URL

案例:修改商品数量
查看余额
生成订单
查看不同编号的商品

预防思路
多重校验
人工审核(订单数值较大)

其他业务逻辑问题

其他业务逻辑问题一般有以下几种情况:
API逻辑漏洞
客户端与API通信无加密
客户端与API通信无身份验证
其他安全问题

API逻辑漏洞常见的安全问题
参数校验不完善
短信、邮箱炸弹

 抓包发给intruder模块

 清除标记

选择炸位置

  开炸

 起风了

关键参数不加密

客户端与API通信无加密
未加密风险
凭据
传输数据公开
资源信息泄露
中间人攻击

我靶场有问题,不过无所谓,新建一个前面加上zzcms即可

随便输入个名字

输入验证码抓包,666改为yes,即可成功

任意用户密码修改成功

修改

客户端与API通信无身份验证
信息泄露
应用程序被克隆
难以应对大规模拒绝服务攻击

其他安全问题
重放攻击的模式:
短信炸弹
重复下单
防止重放攻击
时间截和随机数的方式防止请求被重放

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值