业务逻辑漏洞之支付逻辑漏洞

业务逻辑漏洞之支付逻辑漏洞

一、漏洞挖掘介绍

漏洞定义:

  • 官方定义:漏洞是在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,从而可以使攻击者能够在未授权的情况下访问或破坏系统。
  • 我的定义:只要可以给厂商带来损失的全都是漏洞。
  • 常规漏洞:

http://wooyun.2xss.cc/

二、Web漏洞产生的原因

主要是服务端对客户端发送的请求没有做严格的验证处理,导致客户端可以发起有害的请求,从而导致漏洞产生。

三、业务逻辑简述

  • 业务逻辑:不同的项目有不同的功能,这些功能需要不同的代码实现,实现这些核心功能的代码就叫业务逻辑。

比如让你实现一个功能,给你两个数,让你获取它的和。你所写的"如何才能获得任意给定的两个数的和"这个程序的实现过程即可

称为业务逻辑处理。

  • 我们可以这样的理解,一个产品的实现,总会有很多逻辑包括在内,比如购物网站,他需要的功能可以分为两个个大类,第一类是前台:包括商品展示、商品分类搜索、商品购买以及个人用户管理、用户注册、用户登录处理、用户个人资料编辑、收获地址管理、订单管理等。第二类就是后台:比如网站后台管理 、商品管理、订单处理、相关反馈处理等。

比如我们用户想要在京东或者当当网买一本书,是不是首先要注册一个账号,注册完成后进行登录,登录后就可以将我们想要买的书加入购物车,然后结算生成订单,之后基于这个订单付款,付完款之后订单就提交成功了。

  • 业务逻辑漏洞:是指开发者/设计者在开发过程中,由于代码逻辑不严或者业务逻辑不严,导致一些逻辑分支不能正常处理或处理错误,而造成的一系列可以被攻击者加以恶意利用的漏洞。

  • 或者说程序员在编写程序时,只考虑了常规的操作流程,即"当在A情况下,就会出现B,此时执行C即可",但是开发者却没有考虑当用户执行了意料之外的X时会发生什么。这种对于异常情况的欠考虑,最终导致了安全漏洞的产生。业务逻辑漏洞是通过相对合法的方式来达到目的的。当然了这个合法不是说我们可以随意利用这些漏洞去投机取巧犯法,而是这个漏洞它所提交的数据包跟其他比如sql注入、xss等漏洞相比是没有危害性的,不会引起防护设备也就是waf的注意。

  • 业务逻辑漏洞是通过相对合法的方式来达到目的的。当然了这个合法不是说我们可以随意利用这些漏洞去投机取巧犯法,而是这个漏洞它所提交的数据包跟其他比如sql注入、xss等漏洞相比是没有危害性的,不会引起防护设备也就是waf的注意。

四、 常见业务逻辑漏洞的功能点

漏洞发现方法:确定业务流程--->寻找流程中可以被操控的环节--->分析可被操控环节中可能产生的逻辑问题--->尝试修改参数触发逻辑问题。

五、支付逻辑漏洞

5.1、漏洞背景

随着互联网的发展,生活变得越来越方便,往日需要我们跋山涉水购买的物品,如今只要在网上下个订单就可以送到家中。网上购物给我们带来极大的便利的同时也带来了安全风险,而支付漏洞就是影响我们网上购物的安全风险之一。

5.2、产生原因

开发人员往往会为了方便,直接在支付的关键步骤数据包中直接传递需要支付的金额。而这种金额后端没有做校验,传递过程中也没有做签名,导致可以随意篡改金额提交。只需要抓包看到有金额的参数修改成任意即可。

5.3、测试方法

  • 大米CMS靶场:http://47.109.71.232:10001/
    1、在购买产品过程中修改产品数量、价格;

在进行支付订单的时候,可以修改物品的数量来进行操作,可以通过支付一件的价格购买多件,或者修改成负数进行增加资金。

  • 特殊情况:修改小数点、整数溢出、总商品价格为正

2、在支付时修改总价格或者优惠价格;

利用:抓包修改价格参数的内容,在支付当中,购买商品一般分为三步骤订购、确认信息、付款,在这三个步骤中都有可能存在漏洞,金额可以尝试修改小额或者修改负。

  • 特殊情况:
    1.总商品价格整数溢出
    2.价格小数点溢出

3、订单生成后,编辑订单把A商品的价格改成B商品的价格,实现低价支付。

修改支付对应商品的id:

  • 通过修改商品对应的d号,可以用低价购买高价格的商品。

请求重放:

  • 购买成功之后,继续重放请求,可以让购买的商品一直增加。购买成功之后,会有一个银行对商户网站跳转的过程,如果反复进行操作,有几率会导致商品反复购买和增加,但是不需要付更多的钱。

4、整数溢出。

bash 复制代码
一般在开发当中,商品的金额都会用int 型来定义,那么 int 的最大值为2147483647,可以尝试修改为2147483648。看是否造成整数溢出,有可能支付状态异常,从而导致支付成功。

5、修改附属优惠/状态

  • 修改优惠券金额
  • 修改积分金额
  • 无限制试用
  • 修改优惠价
  • 优惠券设置错误,出现优惠券叠加
  • 优惠券id遍历

不然一些商品有优惠券,优惠多少多少,那么在支付时抓包,修改这个优惠价就可造成支付问题的产生。

6、提现/充值类型:

  • 提现负数
  • 提现整数溢出
  • 提现多位小数点(假设比如服务器只能识别到0.00你支付了0.049元四舍五入给你充值了0.05元)

六、挖到这些漏洞有什么用?

可以提交到SRC(安全应急响应中心),能够获得相应的赏金

  • SRC平台:https://www.anquanke.com/src
  • 漏洞盒子:https://www.vulbox.com/projects/list
  • 补天:https://www.butian.net/Reward/plan/1

国外赏金平台:

  • intigriti:https://www.intigriti.com/
  • HackerOne:https://hackerone.com/
  • Bugcrowd:https://www.bugcrowd.com/
  • Cobalt:https://cobalt.io/
  • Bountysource:https://bountysource.com/
  • Bounty Factory:https://bountyfactory.io/
  • Coder Bounty:http://www.coderbounty.com/
  • FreedomSponsors:https://freedomsponsors.org/
  • FOSS Factory:http://www.fossfactory.org/
  • Synack:https://www.synack.com/
  • HackenProof:https://hackenproof.com/
  • Detectify:https://cs.detectify.com/
相关推荐
代码中介商2 小时前
Linux TCP 网络编程完全指南:从三次握手到高并发服务器
服务器·网络·tcp/ip
咖喱o3 小时前
QinQ/VLAN Stacking
linux·运维·服务器·网络
AI周红伟4 小时前
周红伟:运营商一季度净利集体下滑 Token运营提速
大数据·网络·人工智能
marsh02065 小时前
43 openclaw熔断与降级:保障系统在异常情况下的可用性
java·运维·网络·ai·编程·技术
汽车仪器仪表相关领域6 小时前
Kvaser Memorator Professional 5xHS CB:五通道CAN FD裸板记录仪,赋能多总线系统集成测试的旗舰级核心装备
大数据·网络·人工智能·单元测试·汽车·集成测试
初学者,亦行者6 小时前
计算机网络必考:一文吃透 TCP/IP 体系结构(附高清思维导图)
网络·tcp/ip
段一凡-华北理工大学6 小时前
【高炉炼铁领域炉温监测、预警、调控智能体设计与应用】~系列文章10:实时预警机制:跑在问题前面!
网络·人工智能·python·知识图谱·高炉炼铁·工业智能体
WJ.Polar7 小时前
Scapy基本应用
linux·运维·网络·python
@insist1237 小时前
信息安全工程师-入侵检测核心技术、APT 应对与工程实践
网络·安全·软考·信息安全工程师·软件水平考试
CDN3608 小时前
[硬核] 你的DNS正在“裸奔”?用Python手撕DNS劫持与隧道检测逻辑
开发语言·网络·python