正文
目标为target.com
在购物车中添加一些商品并尝试下订单,同时观察到一个post api调用/cart/session
这个接口,其中只有一个参数,即cartID,它投6位数值,例如:cartID=123456,这里检查了请求的响应,并观察它包含所有用户详细信息,包括电话号码和电子邮件地址,这里决定暴力破解此参数,尝试暴力破解最后4位数字,发现这个参数容易收到IDOR的攻击。
对于一些请求,观察到“此购物车ID已过期”的错误消息。根据这里的理解,服务器为用户分配了一个唯一的购物车ID,而客户试图发起支付,这个购物车ID仅在一小时内有效。这是一个高严重性问题,但我的目标是找到一个业务逻辑问题,所以这里继续测试。
这里有100个积分,可以抵用100元,当使用这些积分的时候,应用程序执行以下的http请求:
为了检查响应,这里进行拦截,在响应中观察到折扣价格,将其改为零,并forward这里的响应,发现在app中修改后的订单价格为0。
尝试下这个订单,可能需要支付实际金额。由于应用程序中的订单金额为零,为了测试它我尝试下这个订单,令人惊讶的是,订单成功了。
往期回
原文始发于微信公众号(迪哥讲事):一个支付漏洞
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论