解决jquery版本过低引发的安全漏洞


测试网站是否存在此XSS跨站漏洞:
以google浏览器为例,打开要测试的网站,在Console窗口输入:

$.fn.jquery
回车查看版本号

$(“element[attribute=’<img src=123123 οnerrοr=alert(123)>’”);
回车之后会出现弹窗,说明存在XSS跨站漏洞



漏洞原因:

1.x系列版本等于或低于1.12的jQuery,和2.x系列版本等于或低于2.2的jQuery,过滤用户输入数据所使用的正则表达式存在缺陷,可能导致LOCATION.HASH跨站漏洞。

修复建议:

1、升级版本:

其实这是最好与最简单的修复方式,但是最新版的jquery不兼容旧版本,很多的api被废除了,所以如果升级到最新版的话,容易崩,还有个方式就是jquery团队推出的一个插件migrate。具体使用方法自行去jquery查询

2、隐藏版本号

这个方法其实挺苟的,就是让扫描器无法识别该js版本号,操作方法就是将jquery文件头部带版本号的注释删除,并将文件内的版本号删除。不想删的可以改成最新的版本号:3.5.1

3:重写js方法

重写一些方法,或者把低版本的对应的方法替换成高版本

更多推荐

解决jquery版本过低引发的XSS跨站安全漏洞