
それでは始めましょう。 2011年7月、IBM Research GroupのRoee HayとYair Amitは、デフォルトのAndroidブラウザーに
UXSSの脆弱性を発見しました。 このエラーにより、悪意のあるアプリケーションがJavaScriptコードを任意のドメインのコンテキストに挿入し、Cookieをキャプチャしたり、その他の悪意のあるアクションを実行したりできます。 この脆弱性は、Androidバージョン2.3.5で修正されました。
2012年6月21日に、Android用のGoogle Chromeがリリースされました。 非常に興味深いエラーを見つけることができました。 自分で見てください。
UXSSの脆弱性
予想どおり、この脆弱性は「メイン」のChromeアクティビティには影響しません。 ただし、
Chrome .apkの AndroidManifest.xmlファイルを見てみましょう。

明らかに、
<intent-filter>ディレクティブが宣言されている場合、
com.google.android.apps.chrome.SimpleChromeActivityクラスは別のアプリケーションから呼び出すことができます。
apkから
classes.dexを逆コンパイルし、
SimpleChromeActivityクラスを見てください。

上記の
onCreateメソッドでは、新しいタブではなく現在のURLに新しいURLがロードされることに気付くでしょう。
このアクティビティをトリガーするには、Android APIまたはアクティビティマネージャーを使用する2つの方法があります。 Android APIからの呼び出しは少し複雑なので、adbシェルから「am」コマンドを使用しました。
shell@android:/ $ am start -n com.android.chrome/com.google.android.apps.chrome.SimpleChromeActivity -d 'http://www.google.ru'

コンテンツの表示に関するこの問題は、セキュリティとは関係ないと思われます。 タイトルから判断すると、Chromeは
Mainではなく
SimpleChromeActivityに
www.google.comをアップロードし、このアクティビティはChromeのCookieデータベースにアクセスできます。 次のステップは、JavaScriptコードの実装です。
shell@android:/ $ am start -n com.android.chrome/com.google.android.apps.chrome.SimpleChromeActivity -d 'javascript:alert(document.cookie)'

JavaScriptは
www.google.comドメインのコンテキストで実行されました。
資格情報の開示
別の問題-自動ファイルアップロード-は、Chromeのようなブラウザを使用する場合に大きな頭痛の種になりました。 Chromeブラウザでバイナリを開いた場合、確認なしで
SDCardディレクトリにダウンロードされます。
悪意のあるソフトウェアNonCompatibleがこのようなオプションを使用した標準ブラウザでも同じことが起こりました。 これが資格情報の開示にどのように関連しているかを尋ねることができます。 システムのChromeディレクトリを見てください。

これらのファイル(Cookie、履歴など)を読み取ることができるのはChromeアプリのみです。 安全に見えます。 file://ラッパーを使用してChromeを起動し、Cookieを開いてみてください。
shell@android:/ $ am start -n com.android.chrome/com.android.chrome.Main -d 'file:///data/data/com.android.chrome/app_chrome/Default/Cookies'

ブラウザーを起動すると、Cookieは
/sdcard/Downloads/Cookies.binにダウンロード/コピーされ、システム内のすべてのアプリケーションがそれらを読み取ることができます。
詳細情報をChromiumセキュリティチームに提供しましたが、これらのエラーはバージョン18.0.1025308で修正されました。参照:
http://code.google.com/p/chromium/issues/detail?id=138035http://code.google.com/p/chromium/issues/detail?id=138210著者:アルテム
チャイキン (
artemchaykin )。