首页 新闻 会员 周边 捐助

线上项目被攻击了

0
悬赏园豆:100 [已解决问题] 解决于 2021-11-22 12:48

一个商城APP项目,后台是Java写的,现在情况是这样:

正常流程: 用户下单-》支付成功-》支付宝回调-》修改订单状态、给用户上级返利。

异常情况:用户下单-》取消支付-》修改订单状态、给用户上级返利。

我想知道,他是怎么做到的,支付宝那边查询了订单,确实是用户超时未支付已经关闭了订单,而且修改订单状态,给用户返利也只有在回调的接口进行,回调参数也验证通过之后才会往下进行。

路边一草鞋的主页 路边一草鞋 | 初学一级 | 园豆:21
提问于:2021-11-19 16:33
< >
分享
最佳答案
0

同问 接口有没有验签 有没有被模仿请求的可能

收获园豆:100
蓝羽code | 菜鸟二级 |园豆:318 | 2021-11-19 17:52

接口有验签的,修改订单状态和执行返利只有支付回调那里调用,其他地方不会调用的。模仿请求是什么意思啊?

路边一草鞋 | 园豆:21 (初学一级) | 2021-11-19 21:53

@路边一草鞋: 就是别人能不能抓到你的请求,然后改参数,模仿一个。

规则是啥?有没有时效性?跟当前一些参数有没有关联?

验签的规则合理,一般都不会被黑的

一般是一个密钥加上所有参数的md5值 其中还要包含时间戳,防止请求重放。

蓝羽code | 园豆:318 (菜鸟二级) | 2021-11-19 22:25

@蓝羽code: 昨天记录了日志,现在确定问题是攻击者获取到了未支付的订单编号,而且确定是走的支付回调逻辑,支付宝的回调也能够伪造吗,日志是在验签成功之后,到支付宝查询支付状态,然后记录没有支付的订单号。
现在我们是先验签,验签通过之后在去支付宝那边查询支付状态,确定是支付了之后再走后面的逻辑。

路边一草鞋 | 园豆:21 (初学一级) | 2021-11-20 18:45

@路边一草鞋: 要看验签逻辑是哪里提供的 如果是支付宝平提供的 他们会给你们个签名验证方法
看你们做没做验证了
如果你们没做验证肯定是会出问题的

我觉得你们接口可能是接到参数没做验证

蓝羽code | 园豆:318 (菜鸟二级) | 2021-11-20 18:48

@蓝羽code: 确定是做了签名验证的,而且签名验证方法用的是支付宝的SDK

路边一草鞋 | 园豆:21 (初学一级) | 2021-11-20 18:53
其他回答(1)
0

取消支付哪里发送了请求?验签没有呢

无限REIZ | 园豆:3 (初学一级) | 2021-11-19 17:43

接口有验签的,修改订单状态和执行返利只有支付回调那里调用,其他地方不会调用的。

支持(0) 反对(0) 路边一草鞋 | 园豆:21 (初学一级) | 2021-11-19 21:54
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册