尽管 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. ufile开公钥私钥

    https://docs.ucloud.cn/storage_cdn/ufile/guide/token登陆UCloud官方控制台,进入UFile—令牌管理

  2. [LuoguP1155]双栈排序_二分图_bfs

    双栈排序 题目链接:https://www.luogu.org/problem/P1155 数据范围:略. 题解: 神仙题. 就第一步就够劝退了. 这个二分图非常不容易,首先只有两个栈,不是属于一个就 ...

  3. 在ROS系统下,获取tango的RGBD信息和Pose信息

    Project Tango 是从Google 的 Advanced Technology and Projects group (ATAP) 孵化出来的一个项目,诚如ATAP高级工程师Johnny L ...

  4. [转帖]微软宣布即将开始大规模推送Windows 10 V1903重大版本更新

    微软宣布即将开始大规模推送Windows 10 V1903重大版本更新 https://www.cnbeta.com/articles/tech/894303.htm 微软要批量更新 1903了 bu ...

  5. QSqlDatabase

    QSqlDatabase  使用静态方法addDatabase来创建一个数据库连接. 如果你的程序中只有一个数据库连接,可以使用如下语句创建连接 QSqlDatabase db = QSqlDatab ...

  6. 【转】SpringMVC框架实现后端向前端传数据

    首先还是页面userAdd.jsp.它既是发出请求的页面,也是接收返回结果的页面: <%@ page language="java" import="java.ut ...

  7. [NOIP提高组2018]货币系统

    [TOC] 题目名称:货币系统 来源:2018年NOIP提高组 链接 博客链接 CSDN 洛谷博客 洛谷题解 题目链接 LibreOJ(2951) 洛谷(P5020) 大视野在线评测(1425) 题目 ...

  8. spring中使用动态代理(AOP)

    spring是整合了BGLIB和JDK两种动态代理 示例:使用CGLIB代理 public class MyCar { private String color = "blue"; ...

  9. Visual Studio 开发大量 JavaScript 代码项目程序崩溃的解决方案

    最近公司做新项目,基于 Bootstrap.AngularJS 和 kendo 开发一套后台的管理系统,在项目中使用了大量的 JavaScript 文件,这两天 Visual Studio 2015 ...

  10. c#基于TCP/IP、CIP协议的欧姆龙PLC通信

    一.关于CIP协议 CIP通信是Common Industrial Protocl(CIP)的简称,它是一个点到点的面向对象协议,能够实现工业器件(传感器,执行器)之间的连接,和高等级的控制器之间的连 ...