对于app的漏洞挖掘其实客户端漏洞挖掘还是很少的,当然像谷歌或者小米这种手机厂商的src还是很重视的,但是其他厂商除非是rce可能就奖励不是很高了。一般的app中漏洞挖掘还是主要在于客户端与服务端进行通信过程中,进行数据包的抓取,毫不夸张的说,会使用Charles或者bp就可能会挖到一些严重的漏洞。
主要就是api接口或者是数据的修改。因为很多app都只是前端做校验,在一些比较关键的地方进行修改可能会有意想不到的惊喜。
我们首先在领取优惠卷的地方进行抓包。
箭头所指的就是优惠劵类别。此时我们继续重复抓包是无法领取的,但是在这个时候,还是不要放弃,可以换一个思路,既然直接重放是无法实现的,那么能否修改优惠券的类别,此时我们可以去其他可以领取优惠券的地方,查看是否是有其他的优惠卷编码。
此时我们可以去查看一些赠送优惠券的商品,进行抓包。而且可以去挑选一些无差别的优惠券甚至是一些通用券。
比如我们此时抓到了这样一个包。
那么此时我们将该编码放在我们上一个数据包中进行重放,发现是可以成功重放并且进行多次重放。优惠卷也是已经全部领取成功,我们也可以领取各种不同的优惠券。此时就已经成功完成了优惠券的无限领取。
此时重放了10次,全部成功。
逻辑漏洞的挖掘总结
•金额、数量负值/小数。
•总金额=商品金额+优惠券金额(只校验订单总金额,而不单独校验优惠券金额跟商品金额,可增大优惠券金额)。
•订单参数混淆干扰(在同一个订单内提交两个或多个金额参数,如price=1&price=-1)。
•校验商品总数量不能为负数,而不校验单个数量,可以设置两个商品一个数量为-1,一个数量为2。
•越权使用他人优惠券。
•首充优惠、升级会员等,多台设备同一账号同时进入支付宝微信第三方支付页面,此时签名订单已生成,支付时不会变成其他金额,可依次以优惠价格支付订单。
•小数点精度:0.019=0.02(比如充值0.019元,第三方支付截取到分也就是0.01元,但是系统四舍五入为0.02)。
•int型溢出(超过最大值整数溢出)遍历优惠券id,有可能遍历出测试隐藏的无条件大额优惠券。
•首充、提现、抽奖、领取优惠券等并发:不一定非要用同一个数据包去进行多次并发操作,可用bp等工具拦截客户端数据包,快速多次点击相应客户端按钮,然后停止拦截,并发请求。
https://www.cnblogs.com/qmfsun/p/8954247.html
推荐阅读:
点赞,转发,在看
文章参考来源:https://www.52pojie.cn/thread-1569454-1-1.html
酒仙桥六号部队以及agoly's blog
如有侵权,请联系删除