1. 谈一谈iOS平台跨域访问漏洞
作者: Lefe_x
最近很多关于 iOS Webview
漏洞的话题,利用这个机会,我也来说说对这个漏洞的理解,如果有理解不对的地方,欢迎指出,同时感谢 @折腾范儿_味精
的指点。
iOS
平台跨域访问漏洞成因是由于 UIWebView
默认开启了WebKitAllowUniversalAccessFromFileURLs
和 WebKitAllowFileAccessFromFileURLs
选项。这样黑客利用这个漏洞给某个 App
下发一个 HTML
文件,当 UIWebView
使用 file
协议打开这个 HTML
文件,而 HTML
文件中含有一段窃取用户数据的 JS
代码,这样就导致用户数据泄露的可能。为了演示这个漏洞,我特意写了一个 Demo
,截图是运行结果。
运行上面的代码,会读取出手机端 /etc/passwd
的文件。这样的话,我们可以利用这个漏洞访问其他应用的数据,而不必需要用户的许可。而 WKWiebView
的 WebKitAllowUniversalAccessFromFileURLs
和 WebKitAllowFileAccessFromFileURLs
默认是关闭的,不会存在这样的风险。
那么如何觉得自己的 App
是否是安全的呢?看看有没有满足下面几点:
App
中是否含有远程下发的html
供APP
加载,而中途会被别人篡改;加载
HTML
文件是通过file
协议加载的;使用的是否为
UIWebView
;使用
WKWiebView
是否有主动开启WebKitAllowUniversalAccessFromFileURLs
和WebKitAllowFileAccessFromFileURLs
这两个属性。
Last updated