逻辑漏洞——业务逻辑问题
普及常见业务逻辑漏洞与测试业务逻辑漏洞方法
业务逻辑
不同的项目有不同的功能,不同的功能需要不同的实现,实现这些核心功能的代码就叫业务逻辑。
比如实现两个数求和功能,所写的如何获得任意给定的两个数的和,这个程序实现过程即可成为 业务逻辑处理。
业务是指一个实体单元向另一个实体单元提供的服务。
逻辑是指根据已有的信息推出合理的结论的规律。
业务逻辑是指一个实体单元为了向另一个实体单元提供服务,应该具备的规则与流程
业务逻辑的内容包括四个部分:
领域实体:定义了业务中的对象,对象有属性和行为
业务规则:定义了需要完成一个动作,必须满足的条件
数据完整性:某些数据不可少
工作流:定义了领域实体之间的交互关系
以用户网购衣服为例:
领域实体:用户、资金账户、订单、衣服、发货单
业务规则:用户点击购买就会生成订单,但必须付了钱才会发货,生成发货单
数据完整性:网购必须登录网购平台账号,没有账号就不能成功购买
工作流:搜索衣服->找到合适衣服->下单购买->付款->收货
每个业务系统都具有不同的业务逻辑,而业务逻辑背后就是人的逻辑,充分了解业
务逻辑有助于找出其中的问题所在。
业务逻辑漏洞是指由于程序逻辑不严谨或逻辑太复杂,导致一些逻辑分支不能正常
处理或处理错误。
业务逻辑漏洞出现于业务流程中(模块功能),也就是说网站的部分都有可能存在
逻辑错误漏洞。
常见业务逻辑问题:
支付逻辑漏洞
支付逻辑漏洞是指系统的支付流程中存在业务逻辑层面的漏洞。
支付流程通常为:
选择商品和数量→选择支付和配送方式→生成订单订单支付→完成
最常见的支付逻辑漏洞通常是由于服务器端没有对客户端请求数据中金额、数量等敏感信息做校验。
支付逻辑漏洞一般在电子商务网站上容易出现,在支付流程中由于没有对客户端请求数据中的金额、数量等敏感信息作校验,带来“0元购”、“1分购”等漏洞,会对商家带来大量经济损失。
支付逻辑漏洞一般有以下几种情况:
支付过程中修改支付金额
支付过程中修改商品商量
支付过程中修改商品编号
随便买 一个
修改URL
案例:修改支付金额
选择商品和数量
提交订单确认支付
抓包,修改支付金额
订单支付,观察跳转到某宝的URL
案例:修改商品数量
查看余额
生成订单
查看不同编号的商品
预防思路
多重校验
人工审核(订单数值较大)
其他业务逻辑问题
其他业务逻辑问题一般有以下几种情况:
API逻辑漏洞
客户端与API通信无加密
客户端与API通信无身份验证
其他安全问题
API逻辑漏洞常见的安全问题
参数校验不完善
短信、邮箱炸弹
抓包发给intruder模块
清除标记
选择炸位置
开炸
起风了
关键参数不加密
客户端与API通信无加密
未加密风险
凭据
传输数据公开
资源信息泄露
中间人攻击
我靶场有问题,不过无所谓,新建一个前面加上zzcms即可
随便输入个名字
输入验证码抓包,666改为yes,即可成功
任意用户密码修改成功
修改
客户端与API通信无身份验证
信息泄露
应用程序被克隆
难以应对大规模拒绝服务攻击
其他安全问题
重放攻击的模式:
短信炸弹
重复下单
防止重放攻击
时间截和随机数的方式防止请求被重放
逻辑漏洞——业务逻辑问题相关推荐
- java业务逻辑_java业务逻辑怎么写?
现在Java项目一般都是用Spring全家桶开发,以web项目来讲结构主要分为Controller层.Service层和DAO层,细分的话有的项目可能还会有一个Manager层. 一个请求到达后端之后 ...
- java如何优雅的写业务逻辑_java业务逻辑,写在哪里比较好?
java业务逻辑,写在哪里比较好?对于这个问题,我想说的是:规范是死的,人是活的,一般情况下,我们可以根据不同的 java 框架规范的目录来写,特殊情况下也可以自定义. 问题分析 接触过 java 的 ...
- php购物车订单业务逻辑,购物车业务逻辑
在现实生活中,购物车是在超市.商店购物时存放商品的地方,而在网络购物中,是对现实的购物车而喻,买家可以像在超市里购物一样,随意 添加.删除商品,选购完毕后,统一下单. 为什么购物车的设计很重要? (1 ...
- Web安全之业务逻辑漏洞
业务逻辑 不同的项目有不同的功能,不同的功能需要不同的代码实现,实现这些核心功能的代码就叫业务逻辑. 业务逻辑漏洞 业务逻辑漏洞是指由于程序逻辑不严谨或逻辑太复杂,导致一些逻辑分支不能正常处理或处理错 ...
- 常见的业务逻辑漏洞-整合篇
笔者前言: 作为一个地地道道的安服仔,每日的工作就是渗透测试,在测试的过程中累积了很多的经验,看到了各种各样奇葩的漏洞,于是乎便有了这样的一篇文章.以下文章均由本人测试发现并打码,侵删 什么是业务逻辑 ...
- 逻辑漏洞 -- 学习笔记
目录 1. 什么是业务逻辑漏洞 2. 业务逻辑漏洞如何产生 3. 逻辑漏洞示例 3.1 信任不安全的客户端 3.2 未能处理非预测输入 3.2.1 数量可设为负值 3.2.2 整数型溢出 3.2.3 ...
- 业务安全 –业务逻辑漏洞
目录 业务安全 –业务逻辑漏洞 业务安全概述; 业务安全测试流程: 业务数据安全 商品支付金额篡改 前端JS限制绕过验证 请求重放测试 业务上线测试 *商品订购数量篡改 密码找回安全 注入 业务逻辑 ...
- 逻辑漏洞----身份验证漏洞
1.逻辑漏洞的概要 逻辑漏洞是基于开发人员设计程序时,逻辑不严密,导致攻击者可以修改,绕过,中断整个程序,让程序按照开发人员的预料之外去执行 如某一网页的登录验证逻辑: 输入用户名,密码------输 ...
- 网络信息安全笔记—逻辑漏洞
逻辑漏洞简介 逻辑漏洞是指攻击者利用业务/功能上的设计缺陷,获取敏感信息或破坏业务的完整性.一般出现在密码修改,越权访问,密码找回,交易支付金额等功能处. 逻辑漏洞的破坏方式并非是向程序添加破坏内 ...
最新文章
- springboot单例模式注入对象_springboot 请求流程简介
- ALV OO的栏位属性
- ThingJS:部署物联网不用买买买,互联互动是切入点
- java url no protocol_httpurlconnection 新人使用遇到错误java.net.MalformedURLException: no protocol...
- React全栈之Instagram开源视频教程
- 睡眠排序法-objective C版的代码
- 二手车没有车险能过户吗?
- python计算2的20次方_Python学习二运算符
- 肺结节目标检测_有肺结节就代表离肺癌不远了?别吓自己,简单几问解答你的困惑...
- 尼康日本拟裁员约一千人 涉及半导体制造业务
- Spring源码之事务(一)
- 问卷模板 | 新品的前期用户调研:题目设计与使用反馈
- 如何批量清理DWG文件?DWG文件清理教程
- Boost.Geometry介绍
- IOS模拟器怎么安装应用程序
- Ubuntu下vim如何保存退出
- web test LoadRunner docs / loadrunner license、cd-key、download
- Power BI数据查询编辑
- 第四十六章 使用 ^SystemPerformance 监视性能 - 生成 ^SystemPerformance 性能报告
- 2008年北京奥运会赛程表—— 08-18
热门文章
- linux使用技巧教程,你不知道的 Linux 使用技巧
- hdfs中与file数组类似的数组_Chapter05 Java中的数组
- 钉钉产品介绍_钉钉上线安全教育新功能家校联动护航学生暑期安全
- FPGA学习之路—接口(3)—SPI详解及Verilog源码分析
- 3d 根据弧长算角度_三分钟带你了解三姆森3D玻璃厚度及轮廓度检测
- Linux如何访问mmio空间,一文读懂Linux下如何访问I/O端口和I/O内存
- 用matlab画出M1和M2的ROC曲线,ROC曲线及其matlab实现ROC曲线的绘画
- c# emnu 获取注释_C#教程推荐
- 令人绝望的第五周作业
- jacoco统计server端功能测试覆盖率