Android Webview File同源戦略は抜け穴を避けます.

983 ワード

評価の目的
AppにおけるWebViewのfil eドメインプロトコルに、同ソースポリシーの迂回した脆弱性があるかどうかを検出する.
危険レベル
高さ
害を及ぼす
JavaScriptの遅延は、fileプロトコルの同源検査をバイパスし、被害アプリケーションのすべてのプライベートファイルにアクセスすることができます.すなわち、WebViewを通じてJavascriptの遅延を実行し、現在のHtmlファイルを削除し、ソフト接続を他のファイルに向けると、シンボルリンクによって指定されたファイルを読み込むことができます.シンボルリンクで指定されたファイルを取得できます.ほとんどのWebViewを使用するアプリケーションはこのホールの影響を受けます.悪意のあるアプリケーションはこのホールを通じて、特別な権限なしにアプリケーションの任意のプライベートファイルを盗むことができます.特にブラウザは、このホールを利用して、ブラウザに保存されているパスワード、Cookie、コレクションフォルダ、履歴などの敏感な情報を取得し、敏感な情報の漏洩を引き起こすことができます.
評価結果
リスクがある(発見4箇所)
評価結果の説明
このアプリにはwebview File同源戦略の迂回した穴があります.
評価の詳細
…(具体的な位置は省略)
ソリューション
1.fileプロトコルを使用する必要がないアプリケーションに対して、fileプロトコルを無効にする
setAllowFileAccess(false);
2.fileプロトコルを使用する必要があるアプリケーションに対して、fileプロトコルのJavaScriptのロードを禁止する.
setAllowFileAccess(true); 

//    file      JavaScript
if (url.startsWith("file://") {
    setJavaScriptEnabled(false);
} else {
    setJavaScriptEnabled(true);
}