脑袋里突然蹦出来一个这样的问题,万一攻击者抓包后分析,然后又伪造,不断的尝试请求“修改订单成功”的哪个文件怎么办呢?
举例:支付宝
可能性很小,因为你的没一个订单都会在支付宝形成一个唯一的order id,或许他可以修改你本地系统的订单状态,但是支付宝那里的order状态可不是那么容易被修改的。
一般是,当支付完毕后,支付宝会给你的服务器发送一个信号,告之订单是否支付成功,具体的例子就是:支付页上有个弹层,上面有两个按钮,一个是支付遇到问题,支付成功。一般是支付完毕后,到这个页面上点击支付成功,这个时候你本地订单状态应该已经通过阿里的信号通知更正为已支付或者未支付。
所以你要加强你本地系统的order状态就行了,再不济,拿本地与支付宝那里人肉对比。
我知道的,大概也就这点儿。把自己代码写健壮点儿。
这种攻击在https下基本是不可能的了,除非再次发现像bleed heart那样的0day漏洞,有这种技术的黑客估计也不会光顾支付宝吧。
告诉你一种更无解的,在用户电脑上装一个键盘钩子,或者键盘驱动。或者直接卖一个键盘附加驱动。
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
2 回答2.2k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
支付宝采用了HTTPS加密传输,是无法抓包解密的。
攻击者修改了本地系统订单状态是你自己的业务逻辑与支付宝无关,为保证业务安全,你可以在点击发货时向支付宝接口查询交易状态,若未付款则拒绝。
第二种,第二天下载交易数据进行比对。
另外不要用同步通知URL来修改订单状态