全球工单 分享一个新的骗钱手段:利用“闲鱼-支付宝”的某些规则

2023-05-05 16:34:17 +08:00
 ivanor
具体的原理,知乎上这篇文章应该说的比较清楚
https://zhuanlan.zhihu.com/p/625230704

闲鱼新骗局,大家闲鱼捡漏一定注意,不要被骗了,必看,必看,必看完,说三遍。

1.卖家挂的商品属于真香价格,吸引你购买,并且要求到付

2.你拍下之后和你正常友好沟通,你觉得卖家是个好老哥

3.你的好老哥发来一个二维码,告知需要扫码获得免费的价保,或者是告诉你扫码支付运费新人可能是零元

4.你扫码之后发现是闲鱼链接到支付宝的页面,看起来很正规,于是放松警惕点击立即支付。

5.你支付之后,你会发现你刚拍下的商品已确认收货,吃了个大亏,叫天不应叫地不灵,回群里被大家当成笑柄。


总结:闲鱼卖家发一个让你支付运费或者保价的码,大家都别扫,扫了就直接确认收货被骗,大家眼睛擦亮一点。

https://bbs.nga.cn/read.php?&tid=36187186
10286 次点击
所在节点    分享发现
88 条回复
8yte
2023-05-06 09:28:45 +08:00
@fydpfg

页面再精细一点,估计换成搞安全的人也分不清。

付款金额只有 1 块,如果不是付完款会确认收货,换谁都以为是官方活动吧。

这比 csrf xss 还危险,他甚至用的是自己的域名。

从第三方伪造网站能调用 AlipayJSBridge.call 就知道完全是支付宝的锅。骗子根本不用获得你的凭证,支付宝直接帮骗子一把梭了。
gujuji
2023-05-06 10:01:58 +08:00
@8yte 他这个 api 应该就是方便 h5 调用收货,但是脑残没有鉴定域名白名单导致的
gujuji
2023-05-06 10:03:48 +08:00
@SachinBeyond 跑的了,随便买个假信息,然后换成 usdt 就结束了
gujuji
2023-05-06 10:04:42 +08:00
@SachinBeyond 不好弄的,这些人都是在强北买的假信息,钱一到账就换成 u 了,你就追不了了
8yte
2023-05-06 10:06:38 +08:00
@gujuji 所以我说骗子域名还能调用 API 就很离谱
gujuji
2023-05-06 10:08:22 +08:00
支付宝没想到会有这么明显的安全漏洞,简直无脑,感觉还可以细挖
linauror
2023-05-06 10:19:36 +08:00
看起来确实是支付宝的问题了
ZField
2023-05-06 10:21:10 +08:00
这应该属于支付宝的安全漏洞,支付宝全责……
bjzhush
2023-05-06 10:25:21 +08:00
@dcsite 微信支付更扯淡,支付宝好歹有客服,微信连个鬼都没有,方方面面支付宝比微信强多了,再说了,新设备不可能这么简单就改支付宝密码的
sillydaddy
2023-05-06 10:56:21 +08:00
@coolcoffee
@cyansto
我搜了下“支付宝确认收货”,还真有这个接口。。没有交易金额,只输入确认密码。

那现在问题比较清楚了,支付宝在收到确认收货的调用时,没有做域名校验,这应该是主责。但是,闲鱼的设计是不是有漏洞呢?按常理,「确认收货」这个动作,只有在买家的闲鱼 App 里面才可以操作,对吧,但由于卖家获取到了订单的 ID ,直接调用了支付宝的接口,实现了确认收货。

这里面闲鱼的处理逻辑是有漏洞的,因为订单的 ID 对于买家和卖家,应该都不可见才对,尤其是对于卖家。只有在买家点击「确认收货」时,才由闲鱼 App 从后台获取到这个订单 ID ,然后发起支付宝确认操作。这样,就类似于 @coolair 所说的「买家订单号和卖家订单号分开来生成」了,卖家是无法见到这个订单 ID 的,卖家应该也用不到这个订单 ID (即使是卖家取消订单?)。

我不知道支付宝的担保交易的逻辑,生成订单 ID 的逻辑是什么样的,生成的订单 ID 是不是只是对于闲鱼可见,还是对买家和卖家都可见。如 @coolair 那样的方案,在密码学上更严谨。像 @fydpfg 所说的,「正确使用密码学来保证协议的安全性」
xmumiffy
2023-05-06 10:59:02 +08:00
@sillydaddy 订单号不是密码,不应该期待使用订单号来保密.本质还是越权调用确认收货接口的问题
sillydaddy
2023-05-06 11:07:40 +08:00
@xmumiffy 订单号足够长的话,就是能起到密码的作用,也可以起到与密钥同等的效力。这点不用怀疑吧。如果可以做到的话,那么逻辑上是更完整的。再加上你说的鉴权行为,相当于是两道加密的效果。这两道加密没有什么主次之分。
sillydaddy
2023-05-06 11:18:18 +08:00
@xmumiffy 或者这么理解,订单号对于谁可见,本质上是业务上的必要性的问题。如果一个订单号可以只对闲鱼可见,那么就无需暴露给买家和卖家。对于任何一方,都只暴露给其所需的最小信息量。这样攻击面也会最小化。支付宝的买家和卖家直接交易中,双方都可以见到支付宝交易的订单 ID ,便于双方核对。

那么闲鱼作为中间方的担保交易也是这样吗?买家的钱首先是打给闲鱼的,而不是打给卖家,所以订单 ID 应该也分成买家和闲鱼、闲鱼和卖家这 2 份,至于它们后台共享同一个业务 ID ,那这个 ID 应该是只对闲鱼可见的。我不懂支付业务,但直觉上感觉是应该这样设计的。
xmumiffy
2023-05-06 11:37:20 +08:00
@sillydaddy 我的意思是,订单号不需要保密.你不会告诉卖家你的支付密码,但是你会告诉卖家你的订单号.
xmumiffy
2023-05-06 11:39:36 +08:00
@sillydaddy 至于用卖家的订单号来确认收货,还是买家的订单号来确认,还是业务内部订单号,这都不重要.重要的是本来就不应该能被第三方越权直接调起确认收货
Rache1
2023-05-06 11:41:20 +08:00
@sillydaddy 据说阿里的平台下的担保交易是支付宝承担的,大致流程应该就是 确认收货的时候实际上是调用的支付宝的接口,支付宝验证完密码后,再异步回调给闲鱼告诉闲鱼这个交易号下的订单已经确认收货。

这里的交易号不是闲鱼的订单号,而是支付宝平台的交易号,网站在调用支付宝创建订单时,需要把网站的订单编号传递过去,也就是你的每笔订单至少都有两个跟这个交易有关的编号,你打开你的支付宝账单,点开就都能看到的。

这里骗子网站就是使用的支付宝的交易号。交易号还可以用在退款,对账等等。


你说的理想情况就是,用户在闲鱼 App 里面点击确认收货按钮后,把订单设置一个状态,比如确认收货中,然后再调用支付宝的确认收货接口,当收到支付宝的确认收货异步回调后,如果判断到订单的状态不是在确认收货中(就是这个漏洞的情况),那就忽略这个异步回调,但是也可能会存在一些问题。
codehz
2023-05-06 11:47:25 +08:00
@sillydaddy 阿里系的确认收货都是支付宝做的,实际上担保服务就是支付宝提供的,第一方就是支付宝。而闲鱼,淘宝,1688 这些都是不提供担保交易服务,这么说反而闲鱼 app 内做确认才是“第三方确认收货”。。。
xuelu520
2023-05-06 12:02:32 +08:00
JSB 鉴权背锅,第三方页面居然可以直接调用
sillydaddy
2023-05-06 12:06:28 +08:00
@Rache1 #56
「 AlipayJSBridge.call("tradePay", { tradeNO: "2023042622001174211404250439" }, function(result) {});」
这个里面的 2023042622001174211404250439 ,应该就是你说的支付宝交易号吧。如果这个号是闲鱼在创建订单的时候生成的,那么这个号是否有必要暴露给买家和卖家呢?「买家在闲鱼 App 里面点击确认收货按钮」,这个时候闲鱼才应该从后台拿到 2023042622001174211404250439 这个交易号,发起确认收货,由用户在支付宝上输入密码确认。支付宝是确认的一方,但是发起的却是闲鱼。如果这个交易号暴露给了卖家,那么卖家也可以作为发起人了。这也就是不必要的信息暴露导致的风险。
所以一个关键的问题就是,这个交易号是不是必须暴露给卖家(比如卖家伪装取消订单拿到了这个交易号)。如果存在这种暴露的可能性,是不是可以进一步改进这种交易号的设计(应该由支付宝来做)。
sillydaddy
2023-05-06 12:15:42 +08:00
@codehz 但是确认收货的发起人肯定是闲鱼。从业务上来说,也只有闲鱼 app 上才有确认收货的入口才合理。闲鱼暴露给用户的,只有一个“确认收货”的按钮,用户经由这个按钮“代理”才可以触发收货,进而启动支付宝的支付密码确认。
主题提到的骗钱手段,能成功的原因,一是卖家伪装成闲鱼,向支付宝发起了确认收货的操作,二是确认收货所必须的信息(支付宝交易号)被暴露给了卖家。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/937597

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX