逻辑漏洞之支付漏洞
挖掘此类漏洞时要先:
明确操作点
寻找可控参数
修改参数抓包放包对比
信息泄露/越权:修改变量id遍历其他用户订单信息
修改金额:(正负逻辑/0.01购买/最大值越界)
更改订单状态:(更改接口处关键值为已支付的状态)
多线程并发
具体思路:
1.下单时抓包修改商品价格或数量
2.多线程并发购买
3.商品为0时更改关键参数看是否能够购买成功
4.优惠卷重复利用
5.更改支付API
6.更改支付状态关键值(两个账号A,B用A正常走一遍购买流程记住支付成功状态值,然后用B购买订单生成时抓包修改状态值为购买成功的状态值)
7.更改订单id值遍历其他用户订单信息
8.支付时越权修改支付用户
修复思路:
1.敏感参数使用密文传输
2.服务端校验过滤用户提交的参数
3.提交订单时后台判断单价是否与数据库中相符
4.服务端计算金额是判断是否为正数
5.生成数据签名,对用户金额和订单签名