黑基网 首页 资讯 IT业界 查看内容

苹果OSX Message跨域脚本攻击漏洞详解(CVE-2016-1764)

2016-4-15 09:50| 投稿: son850318 |原作者: 邪恶十六进制

摘要: 苹果在3月修复的CVE-2016-1764(CNNVD-201603-347),是一个应用层漏洞,可导致远程攻击者借助iMessage客户端泄露所有的消息内容和附件。对比攻击iMessage协议,这是一个相对简单的漏洞。攻击者不需要具备扎实的数学 ...

苹果在3月修复的CVE-2016-1764(CNNVD-201603-347),是一个应用层漏洞,可导致远程攻击者借助iMessage客户端泄露所有的消息内容和附件。

对比攻击iMessage协议,这是一个相对简单的漏洞。攻击者不需要具备扎实的数学基础,也不需要精通内存管理、shellcode和ROP链,只需要对JavaScript有基本的了解。

iMessage使用WebKit的嵌入式版本实现用户接口,另外,其中显示的URI都是可点击的HTML 链接。攻击者可以创建简单的JavaScript URI(例如javascript:),在应用程序DOM中执行攻击者提供的代码(跨站脚本)。

尽管iMessage使用的嵌入式WebKit库在applewebdata://源中执行,但是由于缺少同源策略,攻击者仍可以通过向file://URI发送XMLHttpRequest(XHR) GET请求读取任意文件。攻击者不仅可以非法使用XHR读取文件,而且一旦受害者接入网络,攻击者便可以向远程服务器上传受害者的聊天历史和附件。

只要用户点击URL,攻击便会成功。另外,如果受害者启用了短信转发功能,攻击者便可以恢复经由受害者iPhone的任何信息。

技术细节

iMessage

iMessage的用户接口主要由嵌入式的WebKit决定。当用户收发信息时,HTML中会被插入DOM,用于渲染UI及其附件/多媒体内容。使用该应用发送的所有消息都在DOM中渲染,因此,通用的客户端Web漏洞可以影响iMessage应用。



漏洞利用

攻击者可通过执行以下步骤成功删除数据:

1、获取DOM中的JavaScript初始执行权限

2、获取当前用户名

3、使用用户名生成完整路径:/Users/ExampleUser/Library/Messages/chat.db/

4、发送XMLHttpRequest请求读取数据库文件,查询附件文件的路径

5、使用XMLHttpRequest请求向远程服务器上传数据库和所有附件

我们可以通过请求并解析/Library/Preferences/com.apple.loginwindow.plist文件获取当前用户,该文件在OS X应用程序沙箱中是可读的,因此可以很简单地构建用户chat.db文件的完整路径。

获取数据库文件后,我们可以借助自定义的服务器端脚本提权附件的完整路径,至此,附件的完整路径被恶意的JavaScript负载恢复,并用于提取受害者设备中的附件。


JavaScript无处不在

随着黑客技术的提高,客户端内容注入漏洞不再局限于浏览器。虽然WebKit或更加危险的nw.js确实可以帮助开发者构建桌面应用程序,却很可能影响应用程序的安全性。众所周知,嵌入式Web框架很容易存在跨站脚本等常见漏洞,甚至可能面临更具破坏性的攻击。

小编推荐:欲学习电脑技术、系统维护、网络管理、编程开发和安全攻防等高端IT技术,请 点击这里 注册黑基账号,公开课频道价值万元IT培训教程免费学,让您少走弯路、事半功倍,好工作升职加薪!



免责声明:本文由投稿者转载自互联网,版权归原作者所有,文中所述不代表本站观点,若有侵权或转载等不当之处请联系我们处理,让我们一起为维护良好的互联网秩序而努力!联系方式见网站首页右下角。


鲜花

握手

雷人

路过

鸡蛋

相关阅读

最新评论


新出炉

返回顶部