私の Android アプリのプロジェクトでは、Checkmarx を使用してソース コードをスキャンし、セキュリティの問題を探しています。Checkmarx は、Google Volley ライブラリの問題を報告しています。エラーの説明は次のとおりです。
\app\libraries\volley\src\main\java\com\android\volley\toolbox\HurlStack.java の 89 行目のメソッド performRequest は、getHeaders 要素のユーザー入力を取得します。この要素の値は、適切にサニタイズまたは検証されずにコードを通過し、最終的に \app\libraries\volley\src\main\java\com\android\volley\toolbox\JsonArrayRequest の 61 行目のメソッド parseNetworkResponse でユーザーに表示されます。 .java. これにより、クロスサイト スクリプティング攻撃が可能になる可能性があります。
public HttpResponse performRequest(Request<?> request, Map<String, String> additionalHeaders)
throws IOException, AuthFailureError {
String url = request.getUrl();
HashMap<String, String> map = new HashMap<String, String>();
map.putAll(request.getHeaders());
map.putAll(additionalHeaders);
....
}
リクエストのヘッダーがキャッシュされ、後でユーザーに表示されるJsonArrayRequest::parseNetworkResponse
. ただし、ユーザーに表示されていることがまったくわかりません。これは誤報ですか?また、クロス サイト スクリプティング攻撃が Android アプリで発生する可能性があるのは、どのような状況ですか? それは、webview を使用している場合にのみ発生しますか?