太可怕了,支付宝支付居然被利用了

你的APP有用到支付宝支付吗?有没有遇到过支付链接被不法分子利用呢?本文主要分享了一次支付宝APP支付链接被不法分子利用的经历。

一、背景

某日,经客服反馈,有部分用户在某APP上购买商品,最终发现被骗了,而收款账户是我们APP的支付宝账号。
经排查,发现用户反馈的订单基本都为购买大额购物卡(100元、200元),有些订单甚至是多张一起购买。
经分析,发现此类订单都有共同特点,就是下单时间和支付时间相隔比较长,正常的用户支付行为应该能在30秒内完成,而这些订单的支付时长在3分钟~30分钟不等,反向排查这些订单的用户,发现这些用户订单有以下特点:
1.都是大额购物卡
2.支付时长都比较长(远超30秒)
3.都是支付宝订单,没有微信订单
由此可分析出这些用户是有问题的。
补充一下业务:用户在我们APP下单购物卡,支付成功后系统会直接将购物卡卡密发送给用户账号,用户拿到卡密就可以进行兑换购物卡

二、问题重现

1.使用用户A进行支付宝下单(未支付)
2.获取支付链接
3.给到APP前端同事使用任意APP进行支付
4.果然,可以进行支付,并且支付完成后触发系统给用户A进行卡密发放

三、诈骗流程

流程说明:
1.骗子在 某知名APP挂商品
2.用户在 某知名APP想购买该商品,进行下单
3.骗子故意说辞需要加V,私下发链接进行购买
4.用户访问钓鱼网站并完成支付( 防骗指南:请勿相信陌生人的私链
5.卡密发放至骗子账户,骗子可以取到卡密进行兑换
支付链接是后端返回给前端的,用于调起支付宝进行支付,支付链接样例:
alipay_sdk=alipay-sdk-java-3.4.49.ALL&app_id=2022001116633522&biz_content=%7B%22body%22%3A%22testorder%22%2C%22out_trade_no%22%3A%22205546307409489920%22%2C%22subject%22%3A%22testorder-subject%22%2C%22total_amount%22%3A%220.01%22%7D&charset=UTF-8&format=json&method=alipay.trade.app.pay&notify_url=https%3A%2F%2Fapi.domain.com%2Fapi%2Fcallback%2Falipay%2F&sign=hdZMVVmslawvRMDKwIX%2Bcj%2BeSKHrIn7Zna5ngQt0rYgtPladQmAmdOILsNeIMCFv7ZFRVLIvjWNwsYiOxKxYdbo%2FRnR6JMbK7PSJg%2BCAjTZQYR5abcU%2Fq1eL0cjuwbtHwAC9qLBF7B95XYHeJkwwxZgK903Eb9vRyJCw6fTl7egnL3ceRphqC315gajxSzf0UkefxrWjIu55ov8zYd1wdZQ64jsJjS9y0Bh1iW5qWBXNq0lOU8VXLdg2vXUycOJs9wLP7Uv2ob%2FKmcy5DxfrPh4A9DNllwwKKwhVqPbGqQgwqArQh2hjy0FyYDQ9%2B%2FwbylG97Au6lqHlbP4GtMQVEw%3D%3D&sign_type=RSA2×tamp=2020-12-30+09%3A26%3A51&version=1.0

四、解决方案

支付宝APP支付官方文档: app支付接口2.0 | 网页&移动应用
1.方案一
支付宝下单使用参数ext_user_info.need_check_info来强制校验买家信息,但是这种做法需要依赖系统可以获取买家姓名。
2.方案二 (我们采用了这种方式来处理,因为我们无法校验买家信息)
支付宝下单使用参数time_expire(建议配置30秒,可根据实际情况调整)来缩短支付链接有效时间,支付宝是支持同一订单号多次下单的,每次使用新的time_expire来下单接口可以续有效时间。通过功能来实现支付链接的刷新。
经后续观察分析,骗子订单基本都被限制了,因为骗子整个操作流程在30秒内完成不了,给到用户的支付链接在用户支付时会提示“支付链接已过期”。

五、疑惑

1.这种骗术适用于哪些场景?
购买没有物流的虚拟物品,比如购物卡、充值之类的
2.为什么微信支付不会被利用?( 希望了解的朋友给个留言
初步 猜测是因为微信支付是先下单,后响应支付参数,真正支付的时候会校验当前APP的appid是否与下单的一致。而支付宝的支付链接是组装出来的,并没有真正的下单。

猜你喜欢

转载自blog.csdn.net/w13528476101/article/details/127150882