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

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

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

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

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

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

jquery版本安全漏洞问题相关推荐

  1. 升级Jquery版本,解决低版本安全漏洞

    前言 Jquery 低版本存在安全漏洞,所以需要升级版本 记录 jQuery 1.12.3 升级到 v3.x 问题 jquery 低版本存在 XSS 跨站漏洞 // 在控制台中输入以下代码 // 如果 ...

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

    解决jquery版本过低引发的安全漏洞 测试网站是否存在此XSS跨站漏洞: 以google浏览器为例,打开要测试的网站,在Console窗口输入: $.fn.jquery 回车查看版本号 $(&quo ...

  3. 【工具分享 】分享一个jQuery多版本XSS漏洞检测工具

    0x00 前言 最近在搞一个 jQuery v2.1.4 DOM-XSS 漏洞的复现,在网上找了很多Payload都不能用,大多数Payload都只适用于 jQuery v1.x 版本的. 后来看到有 ...

  4. Web安全-JQuery框架XSS漏洞浅析

    文章目录 框架简介 漏洞检测 漏洞复现 漏洞简述 漏洞分析 复现过程 修复建议 新版漏洞 漏洞复现 漏洞原理 修复方案 漏洞验证 框架简介 jQuery是一个快速.简洁的JavaScript框架,是一 ...

  5. jQuery版本不同及多次引用问题

    jQuery版本在不断更新,许多插件并不能很好地工作在各个版本上,并且发现如果在一个页面中多次引用jQuery将会出现问题,害得我折腾了好久,才发现是重复引用问题. 为了避免重复引用,最好在jQuer ...

  6. jQuery版本的网页开关灯、jQuery版本网页开关灯的另一种写法

    jQuery版本的网页开关灯 <!DOCTYPE html> <html lang="en"> <head><meta charset=& ...

  7. IE浏览器 对 jquery版本的兼容性 支持

    IE浏览器存在多种兼容问题 掌握技巧,不再害怕 IE浏览器 对 jquery版本的兼容性 注意: ie9 / ie8 / ie7 -版本的IE浏览器,不兼容jquery中的部分属性方法: 以 jque ...

  8. 使用jquery版本的viewer.js图片更新的问题

    问题:使用jquery版本的viewer.js时,点击查询之后加载新的图片,但是使用viewer.js查看大图的时候发现还是原来的图片,没有更新图片. HTML <ul id="myp ...

  9. jQuery1.9+ 废弃的函数和方法 升级Jquery版本遇到的问题

    面临问题 很久没关注JQuery了,今天突然想升级一下系统中使用的jquery版本,突然发现,升级JQuery版本到1.9之后出现了很多问题,比如:$.browser is undefined.突然就 ...

  10. 抓娃娃机vue版本和jquery版本

    由于公司需求,着手研究H5抓娃娃,从网上找到一份简单的jQuery手机H5抓娃娃机代码.先感谢下最初始分享代码的那位同志.这个分享对我们这些非专职前端的phper来说很关键.虽然简单,但是功能也是都实 ...

最新文章

  1. 世界经济论坛2019年年会开幕
  2. nlv sqlserver_未能使用提供程序“DataProtectionConfigurationProvider”进行解密。提供程序返回错误消息为: 该项不适于在指定状态下使用...
  3. 用户调整listview的column的width处理
  4. android listview下拉刷新动画,ListView下拉刷新实现方式详解和改造(上)
  5. struts -Tiles介绍
  6. 封装 oschina.net 表情选择
  7. NATS服务器部署及测试
  8. 47. Element isSameNode() 方法
  9. 写论文的一点经验小记
  10. Linux内核移植入门
  11. ubuntu 下 Aircrack 破解wifi密码(wpa/wpa2)
  12. Excel单元格锁定与数据隐藏
  13. Echarts的x,y网格线样式
  14. HTML+CSS---进阶学习03
  15. tensor之维度转换
  16. To B产品用研工作,到底在研究什么?
  17. 怎么用php做小游戏_php实现贪吃蛇小游戏
  18. DBA必知的170张Oracle常用动态性能表介绍
  19. 虚拟机中使linux系统分辨率变大,能够在虚拟机全屏显示
  20. codevs 1419 藤原妹红

热门文章

  1. 各个平台下 Perl 源码安装教程
  2. u盘获取计算机管理员权限,使用U盘需要管理员权限
  3. 【Proteus】超声波测距
  4. 电子邮件链接mailto_“ 3个链接”电子邮件的历史记录以及曾经发送的每个链接的存档...
  5. mysql数据库实验报告模板_MySQL数据库技术》实验报告模板.doc
  6. 计算机多媒体课件制作,多媒体课件制作软件
  7. uniapp 安装uView-ui教程
  8. Instagram的百万美元Bug
  9. varchar和varchar2的联系与区别
  10. 如何下载谷歌高清卫星地图影像