[分享] WebView Javascript漏洞

看板AndroidDev作者 (KeySabreur)時間9年前 (2015/01/18 14:23), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
這個漏洞存在很久,但好像在板上沒看過,分享一下騙騙P幣。 原理: 在 Javascript 中利用 getClass().forName() 執行Java面的操作。 (getClass() 是 Object 的 final method) 一旦漏洞被利用,即可在該APP擁有的權限範圍內為所欲為,比如讀寫SD卡。 即便該WebView沒有addJavascriptInterface(), 若無removeJavascriptInterface("searchBoxJavaBridge_"),仍可能受攻擊。 範例: 關鍵字下「android webview javascript vulnerability」,有很多範例, 或參照下方提供的參考連結。 影響範圍: Android版本低於4.2者。 4.2中,只有加了annotation @JavascriptInterface的方法可以被執行。 應對: APP開發者- 必須確保WebView裡面的內容都是在自己的掌控下, 如果要開啟外部的網頁, 應該在 shouldOverrideUrlLoading() 攔截並改用手機瀏覽器開啟, 不過手機瀏覽器如果過舊,一樣會中獎。 也要注意來自外部的library,比如一些廣告用途的SDK。 一般使用者- 更新Android版本。 更新手機瀏覽器。 WebView的應用非常廣泛,但要更新實在很麻煩, 因為patch後終究要靠vendor幫使用者更新,廠商裝死就沒輒。 至 Android 5 才終於把WebView解放出來,使用者自己在Play上就能夠更新了。 參考連結: http://goo.gl/aaMxrB android安全之webview远程代码执行漏洞 https://gist.github.com/jollychang/7577423 sample http://developer.android.com/training/articles/security-tips.html Android Developer - Security Tips http://goo.gl/FKmLzU WebView Is Now Unbundled From Android And Free To Auto-Update From Google Play http://goo.gl/q1TXxF Google No Longer Provides Patches for WebView Jelly Bean and Prior -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.24.89.3 ※ 文章網址: https://www.ptt.cc/bbs/AndroidDev/M.1421562218.A.FF9.html
文章代碼(AID): #1Kkr5g_v (AndroidDev)