尽管 JavaScript 库 jQuery 仍被使用,但它已不再像以前那样流行。根据开源安全平台 Snyk 统计,目前至少十分之六的网站受到 jQuery XSS 漏洞的影响,甚至用于扩展 jQuery 功能的 jQuery 库还引入了更多的安全问题。

Snyk 发布了 2019 年 JavaScript 框架的状态安全报告,该报告主要是对两个领先的 JavaScript 框架(Angular 和 React)进行安全审查,但同时还调查了其他三个前端 JavaScript 生态系统项目的安全漏洞:Vue.js、Bootstrap 和 jQuery 等。

报告显示,在过去 12 个月中,jQuery 的下载次数超过 1.2 亿次,相当于 Vue.js(4000 万次)和 Bootstrap(7900 万次)加起来的下载次数。在报告中,Vue.js 被发现漏洞有四个,但已全部修复;Bootstrap 包含七个跨站点脚本(XSS)漏洞,其中有三个是在 2019 年披露的,目前没有任何安全修复或升级途径来避免;而在 jQuery 中,迄今为止被跟踪影响到所有版本的六个漏洞,其中四个属于中等级别的跨站点脚本漏洞,一个属于中等级别的原型污染漏洞(Prototype Pollution),另一个是低级别的拒绝服务漏洞。

Snyk 报告的结论是,如果你使用 jQuery 3.4.0 以下版本,则容易遭受攻击。

而根据 W3Techs 的数据,使用 jQuery v1.x 的网站占了 84%,这导致它们存在四个中等级别的 XSS 漏洞隐患,使用 jQuery 扩展库(其中 13 个已识别漏洞)会加剧这种情况。

在 Snyk 报告中,jquery.js 是一个恶意包,过去 12 个月中被下载了 5444 次,它的严重程度与其他两个开源社区模块的恶意版本一样高( jquery-airload 322 次下载和 github-jquery-widget 232 次下载)。

报告还列出另外三个扩展库:jquery-mobile、jquery-file-upload 和 jquery-colorbox,虽然其中包含任意代码执行和跨站点脚本安全漏洞,且没有任何升级途径可修补这些漏洞,但它们还是在过去 12 个月中总共下载了 34 万次以上。

近年来有人认为 jQuery 不再流行,而根据报道目前它仍有高下载量,原因可能如下:

  • 目前它还有大量教程、现有网站及软件等都是使用
  • jQuery 相关的插件非常丰富,很多新出的 js 框架也支持 jQuery
  • 大量的程序员用过 jQuery,熟悉它的语法和功能,后期也会继续使用

JS 框架安全报告:jQuery 下载次数超过 1.2 亿次的更多相关文章

  1. 借鉴一些关于js框架的东西

    八款Js框架介绍及比较,Dojo .Scriptaculous .Prototype .yui-ext .Jquery .Mochikit.mootools .moo.fx,componentartu ...

  2. js框架封装,模拟jQuery封装

    模拟jQuery框架,利用原生的js技术,封装一个js框架,以加深对jQuery的常用api的使用和面向对象原理的理解:一:结构部分首先利用闭包,构造一个自执行函数,然后利用选择器函数Sizzle,获 ...

  3. 媲美jQuery的JS框架——AngularJS(一)

    前言 相信原生JS大家都不陌生,至于为什么说原生,是因为在JS的基础上衍生出了很多的框架.有些框架的使用非常广泛,甚至已经达到了媲美原生的地步.在之前的文章中给大家介绍了jQuery这一介绍框架.今天 ...

  4. jQuery与别的js框架冲突

    jQuery.noConflict()运行这个函数将变量$的控制权让渡给第一个实现它的那个库. 这有助于确保jQuery不会与其他库的$对象发生冲突. <script type="te ...

  5. HBuilder支持jquery、zepto、angular、ext、dojo 等js框架的提示吗

    HBuilder有通行的js扫描分析提示,大部分js库都可以方便的提示.但js是一门超级灵活的语言,通行分析有时分析的不够完美,如果对框架做单独优化配置,可以有更好的提示.DCloud官方对jquer ...

  6. Jquery js框架使用

    jquery  众所周知 ,强大的 js框架 自己使用的一些笔记 //1.json格式定义方法 var product_obj={    check_init:function(){          ...

  7. jQuery Validate验证框架详解(jquery.validate.min.js)

    原博客 jQuery Validate验证框架详解 jQuery校验官网地址:https://jqueryvalidation.org/ 一.导入js库 <script type="t ...

  8. JS框架_(JQuery.js)绚丽的3D星空动画

    百度云盘: 传送门 密码:8ft8 绚丽的3D星空动画效果(纯CSS) (3D星空动画可以用作网页背景,Gary为文本文字) <!doctype html> <html lang=& ...

  9. 媲美jQuery的JS框架----AngularJS(二)

    前言 对于AngularJS什么,小编在这就不多做介绍了.大家可以看小编的上一篇博客. 言归正传,小编在上一篇博客中介绍了AngularJS中的指令.表达式还有非常实用的三种服务.接下来,带大家看一看 ...

随机推荐

  1. springboot集成elk 一: springboot + Elasticsearch

    1.ELK介绍 1> Elasticsearch是实时全文搜索和分析引擎, 提供搜集.分析.存储数据三大功能: 是一套开放REST和JAVA API等结构提供高效搜索功能,可扩展的分布式系统. ...

  2. [转帖]APP逆向神器之Frida【Android初级篇】

    APP逆向神器之Frida[Android初级篇] https://juejin.im/post/5d25a543e51d455d6d5358ab 说到逆向APP,很多人首先想到的都是反编译,但是单看 ...

  3. RocketMQ之三:RocketMQ集群环境搭建

    1.初步理解Producer/Consumer Group 在安装RocketMQ之前我们先来理解Group概念,在RocketMQ中Group是很重要的.通过Group机制,让RocketMQ天然的 ...

  4. 使用idea上传项目初始化版本到coding

    1.在coding创建项目 2.使用idea命令控制台初始化本地仓库 3.将代码提交到本地仓库,git add . 或者 git add <filename> 4.将本地仓库文件推送到co ...

  5. JSON、GSON

    文章目录 什么是JSON 特点 JSON的数据结构 -- Object JSON的数据结构 -- Array JSON的数据结构 -- 基本类型 构建 JSON 数据 解析 JSON 数据 GSON ...

  6. linux下安装lnmp集成环境

    linux下安装lnmp集成环境 教程地址:https://www.cnblogs.com/peteremperor/p/6750204.html 必须要用root用户,否则权限不够无法安装 安装最新 ...

  7. css — 选择器、盒子模型

    目录 1. css引入方式 2. css选择器 3. css的盒模型 css: 层叠样式表 1. css引入方式 行内样式 <div style='color:red;'>mjj</ ...

  8. python笔记006-文件操作

    1文件操作... 1 1.1打开和关闭文件... 1 1.1.2 open函数... 1 1.2 文件 File对象的属性... 1 1.2.1 属性... 1 1.2.2 方法... 2 1.2.3 ...

  9. Bloom过滤器

    提出一个问题 在我们细述Bloom过滤器之前,我们先抛出一个问题:给你一个巨大的数据集(百万级.亿级......),怎么判断一个元素是否在此数据集中?或者怎么判断一个元素不在此数据集中? 思考这个问题 ...

  10. Manacher算法+注释

    Manacher算法是用来求一个字符串中最长回文串的算法. 考虑暴力求最长回文串的做法: 暴力枚举字符串中的所有字串判断是否回文,然后求最大值. 时间复杂度O(n^3),考虑优化. 我们从枚举所有字串 ...