Android開發的UXSS階段性小結及自動化測試教程

來源:互聯網
上載者:User

0x00 科普

WebView(網路視圖)android中載入顯示網頁的重要組件,可以將其視為一個瀏覽器。在kitkat(android 4.4)以前使用WebKit渲染引擎載入顯示網頁,在kitkat之後使用Google自家核心chromium。

Uxss(Universal Cross-Site Scripting通用型XSS)UXSS是一種利用瀏覽器或者瀏覽器延伸漏洞來製造產生XSS的條件並執行代碼的一種攻擊類型。可以到達瀏覽器全域遠程執行命令、繞過同源策略、竊取使用者資料以及劫持使用者的嚴重危害。

同源策略所謂同源是指,網域名稱,協議,連接埠相同,瀏覽器或者瀏覽器延伸共同遵循的安全性原則。詳見: http://drops.wooyun.org/tips/151

0x01 事件

近段時間android UXSS漏洞持久性爆發涉及android應用程式套件括主手機流瀏覽器、聊天軟體等。下面截取幾個案例。

WooYun: 搜狗手機瀏覽器跨域指令碼執行漏洞之一

WooYun: 手機QQ安卓版兩處跨域問題

WooYun: 獵豹/360/歐鵬/百度/遨遊等手機瀏覽器安卓用戶端UXSS(影響android4.4以下版本)

WooYun: UC瀏覽器Android最新版(4.4)跨域漏洞(不受系統版本限制)

引用某廠商對此漏洞的回應

非常感謝您的報告,此問題屬於andriod webkit的漏洞,請盡量使用最新版的andriod系統。

的確漏洞產生的原因是因為kitkat(android 4.4)之前webview組件使用webview核心而遺留的漏洞。使用最新的android系統當然安全性要更高而且運行更流暢,但是有多少人能升級或者使用到相對安全的android版本了。下圖來自Google官方2014.09.09的統計資料。

看起來情況不是太糟糕,有24.5%的android使用者是處於相對安全的版本下。但是官方資料的是來google play明顯和大陸水土不服。國內就只能使用相對靠譜的本土第三方統計了。下圖是umeng八月的統計情況

能使用到相對安全的android系統的使用者不到8%,那麼問題來了~我要換一個什麼的樣的手機了。忘記我是個?潘苛耍?剖只?薹ㄉ?兜 kitkat也沒錢換手機。那就只能選擇使用相對安全的應用來盡量避免我受到攻擊。於是我們收集了一些命中率較高的POC來驗證到底哪些app更靠譜一些。

    https://code.google.com/p/chromium/issues/detail?id=37383
    https://code.google.com/p/chromium/issues/detail?id=90222
    https://code.google.com/p/chromium/issues/detail?id=98053
    https://code.google.com/p/chromium/issues/detail?id=117550
    https://code.google.com/p/chromium/issues/detail?id=143437
    https://code.google.com/p/chromium/issues/detail?id=143439
    CVE-2014-6041

為了方便大家也能夠方便測試其他應用我們嘗試寫出一個自動化的指令碼來完成此項工作。

0x02 測試

http://zone.wooyun.org/content/15792

下圖為360瀏覽器在android 4.2.2下的測試結果

下圖為搜狗瀏覽器在android 4.4.3下的測試結果

測試代碼將放入github供大家參考,歡迎大神來修改

代碼地址: https://github.com/click1/uxss

線上測試地址: http://uxss.sinaapp.com/index.php

0x03 對比

我們對主流手機瀏覽器進行了橫向對比,測試對象包括:UC瀏覽器、搜狗瀏覽器、百度瀏覽器、360安全瀏覽器、歐鵬瀏覽器、遨遊雲瀏覽器、獵豹瀏覽器。測試結果見下圖。

0x04 建議

廠商(僅供參考):

1、服務端禁止iframe嵌套 X-FRAME-OPTIONS:DENY 。詳見:http://drops.wooyun.org/papers/104

2、用戶端使用 setAllowFileAccess(flase) 方法禁止webview訪問本地區。詳見: setAllowFileAccess(boolean)

3、用戶端使用onPageStarted (WebView view, String url, Bitmap favicon) 方法在跳轉錢進行跨域判斷。詳見[onPageStarted (WebView view, String url, Bitmap favicon)][8]

4、用戶端對iframe object標籤屬性進行過濾。

使用者:

1、使用漏洞較少的app,及時更新app。

2、不要隨意開啟一些莫名其妙的連結。

3、有錢你就買新手機吧,android L馬上出來了。(可以通過google play推送安全補丁,呵呵)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.