checkmarx报道了Volley的REFELCTED_XSS_ALL_CLIENT

时间:2016-12-22 16:25:03

标签: android security android-volley xss checkmarx

我的Android应用程序项目使用Checkmarx扫描源代码以查找安全问题。 Checkmarx报告了Google Volley库的问题。这是错误描述:

  

在第89行的方法performRequest   \程序\库\凌空的\ src \主\ java中的\ com \机器人\凌空\工具箱\ HurlStack.java   获取getHeaders元素的用户输入。那么这个元素的价值   流经代码而未经过适当的消毒或验证   并最终在方法parseNetworkResponse中显示给用户   在第61行   \程序\库\凌空的\ src \主\ java中的\ com \机器人\凌空\工具箱\ JsonArrayRequest.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应用程序可能会发生跨站点脚本攻击?这只会在您使用网页浏览时发生吗?

1 个答案:

答案 0 :(得分:2)

让我先回答你的最后一个问题。是的,几乎只有WebView受其影响。另一个(不常见的)场景可能是将XSS有效负载保存到文件中,然后由浏览器打开。

HTTP标头被认为是XSS的有效向量,因此它看起来不像是误报警。以下是进一步阅读的两个资源: