В моем проекте для Android-приложения Checkmarkx используется для сканирования исходного кода для проблем с безопасностью. Checkmarkx сообщает о проблеме с библиотекой Google Volley. Вот описание ошибки:checkmarx сообщил REFELCTED_XSS_ALL_CLIENT для Volley
Метод performRequest в строке 89 из \ приложения \ библиотеки \ залп \ SRC \ главная \ Java \ ком \ Android \ залп \ инструментарии \ HurlStack.java получает пользовательский ввод для getHeaders элемент. Значение этого элемента, затем , протекает через код без надлежащей дезинфекции или проверки и в конечном итоге отображается пользователю в методе parseNetworkResponse в строке 61 из \ app \ libraries \ volley \ src \ main \ java \ com \ android \ volley \ Панели инструментов \ JsonArrayRequest.java. Это может позволить атаку Cross-Site-Scripting.
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
. Однако я не могу найти, что он отображается пользователю вообще. Это ложная тревога? И в каком состоянии может произойти атака Cross-Site-Scripting в приложении для Android? Это происходит только тогда, когда вы используете веб-просмотр?