当前版本的jQuery,过滤用户输入数据所使用的正则表达式存在缺陷,导致产生XSS 漏洞。

1、起因

收到第三方的渗透测试报告说:当前JQuery版本(jquery-1.9.1)有jQuery低版本存在跨站风险如下图:

 

 

由测试结果切图可以看出引起XSS漏洞的命令:  $("<img src=x  onerror=alert(1)>")

2、修复验证过程:

写一个简单的测试页面,如下内容

<html>
<head>
<title>test</title>
<script src="https://code.jquery.com/jquery-1.9.1.min.js"></script>
</head>
<body>
<div>
Hello,欢迎测试JQuery,XSS 漏洞
</div>
</body>
</html>

将JQuery换成当前最新版本(jquery-3.6.0),结果一样。

 

 

3、结论 (3.6.0版本也未能修复JQ产生的XSS漏洞)

1)、升级JQuery最新版本也未必能修复XSS漏洞。

2)、$("<img src=x  onerror=alert(1)>") 是不是正常的命令导致正则表达式未能检测到?

暂无找到方法修复这个命令的XSS漏洞,有的话欢迎留言。

 

posted @ 2022-06-01 11:04  syingBlog  阅读(2061)  评论(0编辑  收藏  举报