在未越狱的 iPhone 6 上盗取支付宝和微信支付的帐号密码?

2015-03-23 16:24:13 +08:00
 immjun
iOS URL Scheme 劫持-在未越狱的 iPhone 6上盗取支付宝和微信支付的帐号密码
http://drops.wooyun.org/papers/5309
6649 次点击
所在节点    程序员
28 条回复
sophymax
2015-03-23 16:49:53 +08:00
iOS也别乱装东西了.... ,我自己的iOS设备也一直没任何支付类的app,不放心 。 不过 , 这个漏洞多年前就很多人发现了 , 只不过大家不把它当漏洞 , 当成了取巧的手段玩的正High , 对于一个这么容易的漏洞 , 微信和支付宝责任还是挺大的 , 费尽心机用各种伎俩(红包、话费等)让用户绑定支付方式 , 安全就应该保证 , 苹果留这个功能本意也不是让第三方app调用支付宝等来支付的 , 仅仅是为了方便而已 , 是这些公司自己想着各种取巧方法来让用户更快捷地花钱的
kacong
2015-03-23 16:59:28 +08:00
oh, my 安全需要在心中,需要design thinking 安全是个系统工程。
sobigfish
2015-03-23 17:21:21 +08:00
貌似group的Bundle ID是需要唯一的,这个可以拿来用.
babyname
2015-03-23 17:21:24 +08:00
钓鱼。。
首先你得将这个app通过审核,并且安装到用户的手机上。
wzxjohn
2015-03-23 17:34:12 +08:00
@babyname 作者已经给出了一大堆成功劫持的例子。。。
typcn
2015-03-23 17:34:16 +08:00
@babyname 战旗不就过了?
hjc4869
2015-03-23 17:36:13 +08:00
@babyname 商店不会审核scheme,也没有对盗用别人的scheme作出任何规范,更没有scheme保留机制,过审核不是问题。前提是你的app本身有能够过审核的足够的功能。
xiaket
2015-03-23 18:27:29 +08:00
个人感觉iOS系统对url scheme的管理还是太差了... 这儿在设计上应该分隔开.
dingyaguang117
2015-03-23 18:29:20 +08:00
@sophymax 提升用户体验也无可厚非,当然要在保证安全的前提下
GPU
2015-03-23 18:35:42 +08:00
非工程师不是看得很懂
vincentxue
2015-03-23 19:11:45 +08:00
这是个很老的问题了,多年前 SO 上就有相关的讨论,也有很多的相关博文。

说句装逼的话,从我以前了解 URL Scheme 之后我就想到这种情况的可能性,我当时验证的情况是多个同样的 URL Scheme App 同时安装的话,总是会打开最新安装的那个。刚才我又去试了试 iOS 7.1 和 8.1,也是同样的情况。

然后我读了相关的文档才知道这种情况确实存在,但苹果已经告诉开发者要注意这个问题,当时文档上好像是说不确定会打开哪一个。

苹果有专门的文档讲使用 URL Scheme,并且人家说了不保证 URL Scheme 唯一性。

所以我个人认为这是一个故意的设计,压根就不是漏洞,如果是漏洞,怎么可能这么多年了还不修复,被劫持完全是开发者没有熟读开发文档造成的。


附带几篇文章:

http://www.dhanjani.com/blog/2010/11/insecure-handling-of-url-schemes-in-apples-ios.html

https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/Inter-AppCommunication/Inter-AppCommunication.html#//apple_ref/doc/uid/TP40007072-CH6-SW1

https://developer.apple.com/library/ios/documentation/Security/Conceptual/SecureCodingGuide/Articles/ValidatingInput.html#//apple_ref/doc/uid/TP40007246-SW5
sumhat
2015-03-23 19:16:58 +08:00
和乱装东西没关系,只要不使用 URL Scheme 就行了,全部扫码支付。
shippo7
2015-03-23 20:07:51 +08:00
实际用作攻击难度还是不小,毕竟先要引导用户去安装伪应用。但是厂商之间可以互相劫持 URL Scheme 耍流氓,用自家产品阻碍对方产品的使用。
weisoo
2015-03-23 21:13:06 +08:00
@vincentxue 仔细看完了这个漏洞的说明,以文章中说到的美团和支付宝的例子,美团和支付宝没有任何办法通过完善自己的程序来避免这种漏洞,除非不使用URL Scheme。这个不是美团和支付宝开发者能力问题。
wzxjohn
2015-03-23 21:49:24 +08:00
@weisoo 你看的真仔细啊。。。别人解决方案里连代码都给出来了的两个方案都被你无视了是么?
2. 针对第三方应用

既然苹果不发布补丁保护第三方应用。第三方应用就没有办法了么? 不是的,这里至少有两种方法可以检测自己应用的 URL Scheme 是否被 Hijack:

后面的就不贴了自己去原帖看吧。。。
aqqwiyth
2015-03-23 22:03:53 +08:00
我自己也鼓捣过URL Scheme尤其是在PC上就大量用了,但是视屏中有一段获取到帐号密码的我就不解了。
如果劫持了URL Scheme那么应该从美团跳转不到支付宝才是
wzxjohn
2015-03-23 22:29:58 +08:00
@aqqwiyth 视频的意思你可以理解为做一个假的支付宝客户端,可以看成钓鱼。
xwsoul
2015-03-23 22:35:32 +08:00
恭喜ios也多了一个坑....在我的心里和 安卓更进一步了...
paradoxs
2015-03-23 23:08:17 +08:00
实际上是没什么危害的。
没越狱,哪里来的FAKEalipay呢?
sneezry
2015-03-23 23:22:31 +08:00
@paradoxs 少年,你发评论要仔细读文章啊,战旗他们离那个FakeAlipay就差读密码这一步了啊,想读分分钟就读了啊

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

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

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

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

© 2021 V2EX