漏洞挖掘--------逻辑漏洞 所有资料仅供学习参考禁止违法行为否则自行承担后果。支付逻辑漏洞 是指在支付系统中存在的一些安全漏洞如转账、付款、提现、充值、兑换等之类的功能处发生的漏洞就统称为支付漏洞。在支付的时候我们一般会获取两个数据包 1、选择产品 2、确认订单无论是选品还是确定订单都会产生对应的数据包数据包中就携带相关的数据对其中的数据就行修改即可完成测试 一 订单金额任意修改测试金额不能太大漏洞原理在选品阶段存在订单金额任意修改可以变成原本100元的商品可以使用1元甚至其他的价格可以购买。1、选择自己的产品然后抓取数据包2、修改数据包中的金额实现订单金额任意修改3、放行数据包观察页面变化有些数据会放在返回包当中返回包里搜索price将价格更改为0多个返回包更改才可能成功 二 负数购买漏洞漏洞原理在选品阶段将订单的数量改成负数造成订单为负数购买或者给你反向到账的情况。 单价*个数总价1、选择自己的产品然后抓取数据包2、修改数据包中的产品数量为负数点击“立即购买”会产生多个数据包依次更改。3、放行数据包观察页面变化 三 四舍五入漏洞漏洞原理支付漏洞中的四舍五入漏洞是指支付系统在处理金额精度时由于四舍五入规则运用不当而产生的逻辑缺陷攻击者可利用该缺陷进行欺诈行为获取不当利益。在支付系统中金额通常精确到分。当系统对金额进行四舍五入处理时如果前端显示的金额和实际支付扣除的金额不一致就可能出现漏洞。例如用户尝试充值0.019元系统界面显示为0.01元末位的9被自动截断但实际支付时却扣除了0.02元。攻击者可以利用这种差异通过精心构造充值金额如多次充值接近分位但被进位的金额积累差额最终获取额外收益。1、打开充值页面充值0.0192、0.01后面的9直接忽略了因为第三方支付只能判断到分3、支付完成之后网站四舍五入0.0190.02 四 整数溢出漏洞漏洞原理int的范围是-2147483648~2147483647。你可以把它看作是一个循环当超过最大值后就重新从0开始计算 。比如2147483649-2147483646。有时候支付里面没有负数所以从0开始计算了当支付金额为2147483650时支付金额就变成了3。1、选择自己的产品然后抓取数据包2、修改金额为2,147,483,6493、放行数据包观察页面变化 五 修改优惠券漏洞漏洞原理 关于优惠券可能也有很多漏洞比如1 同一优惠券可无限次使用2 不验证最低消费金额条件3 使用他人的优惠券点击网站里的优惠券抓包----找里面的优惠券的参数比如coupon couid1、登录购物网站选择产品随后立即购买抓取数据包2、分析购买的数据包3、可以看到有一个生成订单的数据包会产生多个数据包4、放行数据包发现还有一个订单生成的数据包5、分析传递的参数然后URL解码6、重放该数据包修改id值7、爆破ID值,遍历看看有没有其他的8、找一个可以用的优惠券9、放行数据包 六 修改运费漏洞漏洞原理 修改运费和修改金额是一样的1、在生成订单的页面我们修改运费的价格运费就是0元2、修改返回包中的运费数据3、放行数据包发现运费被修改总结1、找接口2、分析数据包3、修改参数