日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android webview 跨域,实战Webview跨域访问风险

發(fā)布時間:2024/1/1 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android webview 跨域,实战Webview跨域访问风险 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

漏洞原理:

WebView對象的行為是通過WebSettings類進(jìn)行設(shè)置的,如果配置不當(dāng),攻擊者就可以利用該漏洞可以打破Android沙盒隔離機(jī)制,從而通過某個應(yīng)用來攻擊其它應(yīng)用,盜取其它應(yīng)用本地保存的配置文件、敏感信息等。

主要利用了android.webkit.WebSettings類中setAllowFileAccess()、setJavaScriptEnabled()、setAllowFileAccessFromFileURLs()、setAllowUniversalAccessFromFileURLs()四個方法配置不當(dāng)(允許webview使用file協(xié)議并允許使用javaScript)的風(fēng)險,并配合Activity組件暴露漏洞進(jìn)行攻擊。

setAllowFileAccess()

// 啟用或禁用Webview中的文件訪問,默認(rèn)是true

webView.getSettings().setAllowFileAccess(true);

setJavaScriptEnabled()

// 設(shè)置webview是否啟用javascript執(zhí)行,默認(rèn)是false,設(shè)置為true就是啟用javascript執(zhí)行。

webview.getWebSettings().setJavaScriptEnabled(true);

setAllowFileAccessFromFileURLs()

// 設(shè)置是否允許通過 file url 加載的文件中Js代碼讀取其他的本地文件。

// 需要注意的是如果getAllowUniversalAccessFromFileURLs()的值為true,則此設(shè)置的值將被忽略。要啟用最嚴(yán)格的安全策略,應(yīng)該禁用此設(shè)置:

webView.getSettings().setAllowFileAccessFromFileURLs(false);

// Api級別15及以下,默認(rèn)是true

// Api級別JELLY_BEAN(API級別16,android4.1版本代號,中文翻譯果凍豆)及以上默認(rèn)是false

setAllowUniversalAccessFromFileURLs()

// 設(shè)置是否允許通過 file url 加載的 Javascript 可以訪問其他的源(包括http、https等源)

webView.getSettings().setAllowUniversalAccessFromFileURLs(true);

// Api級別15及以下,默認(rèn)是true

// Api級別JELLY_BEAN(API級別16,android4.1版本代號,中文翻譯果凍豆)及以上默認(rèn)是false

漏洞危害:

攻擊者利用配置不當(dāng)?shù)娘L(fēng)險,誘導(dǎo)用戶點擊攻擊鏈接,在本地生成html文件,并使用intent對象傳遞該惡意html的file url給被攻擊app可導(dǎo)出的組件,使被攻擊app加載本地生成html文件中的惡意js,達(dá)到盜取用戶其它應(yīng)用私有目錄中保存的敏感欣喜、配置文件的目的。會導(dǎo)致隱私信息泄露,針對IM類軟件會導(dǎo)致聊天信息、聯(lián)系人等等重要信息泄露,針對瀏覽器類軟件,則更多的是cookie信息泄露。

以某個app為例,可一下形成該漏洞的原因,以及進(jìn)行測試的方法。

1,如圖X5WebView類繼承了webview類,并且設(shè)置了允許file協(xié)議,以及啟用了javascript執(zhí)行;

2,再看看使用該X5Webview類的Activity,發(fā)現(xiàn)URL是從intent傳遞的對象中獲取的,并且沒有做任何白名單處理,直接啟動了Activity;

3,并且發(fā)現(xiàn)該activity是可導(dǎo)出的,如圖:

基于以上三點,攻擊者可以用惡意鏈接實現(xiàn)生成本地惡意攻擊html,并傳遞惡意html的file路徑給可導(dǎo)出的組件,該組件加載訪問html文件執(zhí)行其中的惡意js,會導(dǎo)致私有目錄中的文件被攻擊者獲取。

最后編輯:2018-01-14作者:admin

這個作者貌似有點懶,什么都沒有留下。

總結(jié)

以上是生活随笔為你收集整理的android webview 跨域,实战Webview跨域访问风险的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。