
1 sophymax 2015 年 3 月 23 日 iOS也别乱装东西了.... ,我自己的iOS设备也一直没任何支付类的app,不放心 。 不过 , 这个漏洞多年前就很多人发现了 , 只不过大家不把它当漏洞 , 当成了取巧的手段玩的正High , 对于一个这么容易的漏洞 , 微信和支付宝责任还是挺大的 , 费尽心机用各种伎俩(红包、话费等)让用户绑定支付方式 , 安全就应该保证 , 苹果留这个功能本意也不是让第三方app调用支付宝等来支付的 , 仅仅是为了方便而已 , 是这些公司自己想着各种取巧方法来让用户更快捷地花钱的 |
2 kacong 2015 年 3 月 23 日 oh, my 安全需要在心中,需要design thinking 安全是个系统工程。 |
3 run2 2015 年 3 月 23 日 貌似group的Bundle ID是需要唯一的,这个可以拿来用. |
4 babyname 2015 年 3 月 23 日 钓鱼。。 首先你得将这个app通过审核,并且安装到用户的手机上。 |
7 hjc4869 2015 年 3 月 23 日 via iPhone @babyname 商店不会审核scheme,也没有对盗用别人的scheme作出任何规范,更没有scheme保留机制,过审核不是问题。前提是你的app本身有能够过审核的足够的功能。 |
8 xiaket 2015 年 3 月 23 日 个人感觉iOS系统对url scheme的管理还是太差了... 这儿在设计上应该分隔开. |
9 dingyaguang117 2015 年 3 月 23 日 @sophymax 提升用户体验也无可厚非,当然要在保证安全的前提下 |
10 GPU 2015 年 3 月 23 日 非工程师不是看得很懂 |
11 vincentxue 2015 年 3 月 23 日 这是个很老的问题了,多年前 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 |
12 sumhat 2015 年 3 月 23 日 和乱装东西没关系,只要不使用 URL Scheme 就行了,全部扫码支付。 |
13 shippo7 2015 年 3 月 23 日 实际用作攻击难度还是不小,毕竟先要引导用户去安装伪应用。但是厂商之间可以互相劫持 URL Scheme 耍流氓,用自家产品阻碍对方产品的使用。 |
14 weisoo 2015 年 3 月 23 日 @vincentxue 仔细看完了这个漏洞的说明,以文章中说到的美团和支付宝的例子,美团和支付宝没有任何办法通过完善自己的程序来避免这种漏洞,除非不使用URL Scheme。这个不是美团和支付宝开发者能力问题。 |
15 wzxjohn 2015 年 3 月 23 日 @weisoo 你看的真仔细啊。。。别人解决方案里连代码都给出来了的两个方案都被你无视了是么? 2. 针对第三方应用 既然苹果不发布补丁保护第三方应用。第三方应用就没有办法了么? 不是的,这里至少有两种方法可以检测自己应用的 URL Scheme 是否被 Hijack: 后面的就不贴了自己去原帖看吧。。。 |
16 aqqwiyth 2015 年 3 月 23 日 我自己也鼓捣过URL Scheme尤其是在PC上就大量用了,但是视屏中有一段获取到帐号密码的我就不解了。 如果劫持了URL Scheme那么应该从美团跳转不到支付宝才是 |
18 xwsoul 2015 年 3 月 23 日 恭喜ios也多了一个坑....在我的心里和 安卓更进一步了... |
19 paradoxs 2015 年 3 月 23 日 实际上是没什么危害的。 没越狱,哪里来的FAKEalipay呢? |
21 paradoxs 2015 年 3 月 23 日 @sneezry 1.实际上现在最新版本的IOS alipay,在美团跳转过去的时候,只需要输入6位的支付密码就可以完成付款。 2.demo那个hijack视频,太过诡异了,跳转过去还要输入全部的账号密码,肯定是不行的,一下就被识破了。 3.最关键的还是要用户手机里面有一个FAKEalipay,这个才是最关键的,这个条件非常非常的难以实现! |
22 Automan 2015 年 3 月 24 日 按我的理解,跳转应该也是一个token啊,明文密码怎么可能传过去? |
23 hebeiround 2015 年 3 月 24 日 via iPhone 也就是我我可以通过伪造URL Scheme可以欺骗美团告诉它我支付了,但事实上并没有支付。 |
24 eternityz 2015 年 3 月 24 日 @hebeiround 支付结果的确认是需要服务器之间进行校验的 (至少我实现过的支付宝流程是这样) |
25 eternityz 2015 年 3 月 24 日 @paradoxs 不需要越狱,可能你从 app store 安装的某个类似小草壁纸这样的 app 就注册了 alipay 的 url scheme |
26 vincentxue 2015 年 3 月 24 日 |