jquery版本安全漏洞问题

编程知识 行业动态 更新时间:2024-06-13 00:21:07

起因:
公司一次常规安全扫描提出了jquery版本漏洞问题:
1.x系列版本等于或低于1.12的jQuery,和2.x系列版本等于或低于2.2的jQuery,过滤用户输入数据所使用的正则表达式存在缺陷,可能导致LOCATION.HASH跨站漏洞。(漏洞官方修复介绍:http://bugs.jquery/ticket/9521)

 

正确解决方法:升级版本。
但是,最新版本的jquery废除了很多api,jQuery团队推出了的一个插件jQuery Migrate,自动恢复那些在最新版本之后被废弃的API,从而让已有的js代码无须改动就能和最新的jQuery库一起正常运行。在引用的jquery文件后引用Migrate文件即可。

<script src="https://code.jquery/jquery-3.4.1.min.js"></script>
<script src="http://code.jquery/jquery-migrate-1.2.1.js"></script>

 

然而由于这个项目历史久远,代码功能繁杂,接手时排查发现引用了多个版本的jquery。仓促的、大规模的改动之后还是出现了很多问题,只能再回退版本,采取临时解决方案。
临时解决方案:隐藏jQuery版本信息,避免被攻击者识别出版本号。

 

操作如下:
>jquery文件重命名;
>jquery文件里头部带有版本号的注释删除;
>jquery文件内版本号清除;
>在 jquery.js 文件中重写$.fn.jquery 属性值;


 

 

然后项目就走常规上线流程了。
but,林子大了什么都有,版本插件多了什么幺蛾子都能冲突,还是有少部分功能页面内调用的jquery插件在没有任何报错的情况下失效了。
经过一系列排查,发现jquery文件内,保留版本号的情况下,那些奇怪的问题就消失了。
所以,最终jquery文件内重写jquery版本而不是清除版本。

更多推荐

jquery版本安全漏洞问题

本文发布于:2023-03-31 03:19:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/a1f52012fe56ab15f7ddbf7ff305b584.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:安全漏洞   版本   jquery

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!