Shikata Ga Nai

Private? There is no such things.

Bug Hunting: Sensitive information exposed in android strings.xml fileを訳してみた

Hello there, ('ω')ノ

 

バグハンティング:androidのstrings.xmlファイルに公開された機密情報を。

 

記事:

 https://pravinponnusamy.medium.com/bug-hunting-sensitive-information-exposed-in-android-strings-xml-file-93ecab5c3499

 

String.xmlは、アプリケーションが必要とするさまざまな文字列のための

単一の場所で。

ここで、すべての文字列には一意のIDがあり、このIDをコード内でそ

の文字列を使用するために使用し。

重要なデータを保存しないことが常に推奨され。

安全でないコーディングの慣行のため、時々strings.xmlファイルに

機密情報が保存されることがあり。

攻撃者がAndroidアプリケーションのコード解析を実行すると、

そのような機密情報を取得することができ、アプリケーションの

セキュリティが侵害されることになって。

 

Androidアプリケーションのstrings.xmlファイルの中にそのような機密情報を

特定して。

対象のAndroidアプリケーションでは、Twitterアプリケーションが

Oauth認証のための認証サーバとして使用されていて。

対象のアプリケーションはTwitterの認証サーバに登録されており、

コールバックURLは"http://****.oauth.****.com"で。

 

strings.xmlファイルにTwitterのコンシューマキー、シークレット、

およびコールバックURLが公開されていることを特定して。

 

説明:

理想的には、TwitterのOAuth 1.0認証は、コンシューマキー、シークレット、

およびコールバックURLを使用して行われ。

対象のアプリケーションは、Twitterの認証サーバーから

リクエストトークン(oauth_token, oauth_secret)を取得するために

これらの値を使用し。

 

最終的に、これらのすべての値はauth_token値と交換され。

コンシューマキー、シークレット、およびcallback_urlが攻撃者に知られているため、

彼/彼女はリクエストトークンを操作し、最終的にoauth_tokenを

取得することもできて。

 

以下の詳細がstrings.xmlファイルに公開されていて:


<string name="twitter_callback">http://****.oauth.****.com
<string name="twitter_consumer_key">TV8***************</string>
<string name="twitter_consumer_secret">RQMf**************************</string>

 

strings.xmlファイルは機密情報を公開



これらの値は以下のクラスで使用され。

"com.*****.android.twitter.com.*****.android.twitter":

 

public void m2****(String str, String str2, String str3, boolean z, Listener listener) {
TwitterOAuthTask twitterOAuthTask;
TwitterOAuthTask twitterOAuthTask2;
if (str == null || str2 == null || str3 == null || listener == null) {
throw new IllegalArgumentException();
}
Boolean valueOf = Boolean.valueOf(z);
synchronized (this) {
twitterOAuthTask = this.f27566a;
twitterOAuthTask2 = new TwitterOAuthTask();
this.f27566a = twitterOAuthTask2;
}
m30457a(twitterOAuthTask);
twitterOAuthTask2.execute(new Object[]{str, str2, str3, valueOf, listener});

 

手順:

1.com.*****.au**** apkファイルをダウンロードし。

2.jadx-guiツールを使用してapkファイルを開き。

3.Resources->resources.arsc->values->strings.xmlに移動し、

 Twitterのコンシューマキーと値を確認して。

 

Best regards, (^^ゞ