SRC挖掘之逻辑(三)
01前言
上一期我介绍了功能点漏洞处,这期我介绍一下SRC的支付逻辑漏洞,这期也是SRC挖掘之逻辑的最后一期。
02支付逻辑漏洞
0x01 边界值问题
正常的逻辑是用户购买商品,然后价格累加得到一个总价进行扣款。这个时候就会产生逻辑问题:如果说用户购买的商品是负数了,那么计算的总数就是负数,反过来钱给用户。
0x02 顺序执行缺陷
正常的逻辑是a-b-c-d 循环渐进的进行流程操作。这个时候就会产生逻辑问题:可以直接从中绕过某一个过程进入到下一步操作。如果说有一项是支付的操作,那么也就会产生支付绕过,如果说有一项是验证机制,就会绕过验证直接进入下一步。
0x03 金额直接传输导致篡改
直接对下单的金额进行修改值,这里可以使用fd或者burp抓包。
0x04 确定支付之后还可以加入购物车
把商品放入购物车点击下单支付,会跳转到微信,支付宝等第三方支付平台。这个时候还可以继续在购物车中加入商品,支付结束之后,商家发放的商品是现在的购物车里面的东西。
0x05 请求重放购买成功之后,继续重放请求,可以让购买的商品一直增加。购买成功之后,会有一个银行对商户网站跳转的过程,如果反复进行操作,有几率会导致商品反复购买和增加,但是不需要付更多的钱。
0x06 请求参数干扰
金钱做了签名认证之后,修改后不通过,但是在里面仍然会有一个参数对金额产生影响导致问题产生。
0x07 订单替换
订单替换发生在支付之后的事件处理,同时向服务器发起二次支付请求一个多一个少,支付金额少的,然后支付之后进行替换,告知服务器订单支付完成,并且过程可以反复的回放。
0x08 欺诈
需要两个收款人,一个是正常的商家,一个是伪造的商家。
0x09 单位替换
产生在paypal类似的国际支付的场景
0x10 用户替换
在支付过程中发生用户替换现象,首先登陆自己的账户,然后取得另外一个人的账户名等有效信息,在业务流程中用对方的用户名替换自己的用户名,用对方的余额购买完成后,再替换自己的账户名,这样就形成别人的钱买自己的东西。
0x11 强制攻击
强制攻击发生在暴力破解的情况下,如果一个商家运用一个自己的网店,接入第三方支付接口,由于设计上的不当导致商家与第三方支付约定的密钥Key可以单独被MD5加密,导致可以使用MD5碰撞技术对密钥进行破解,攻击者可以设计简单的密钥加密信息使得MD5加密是可以用MD5碰撞技术进行暴力破解。
0x12 秘钥泄露
内置支付功能的app为了设计上的方便有可能会把Md5或者是RSA的私钥泄漏导致攻击者反编译apk之后获取密钥信息使得交易信息可以被篡改。
03
总结
其实首先的话还是需要给原理明白以及操作的思路弄懂,学会变通才可以挖到更多新型逻辑漏洞。SRC挖掘之逻辑就介绍到这里。下期我会介绍一下SRC挖掘之简述信息收集,敬请关注!
感谢各位师傅的关注!
张