尽管 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. 在Ubuntu中安装了MongoDB后无法启动mongod的问题

    今天准备学习MongoDB,没想到下载之后服务器端启动不了,记录一下问题和处理过程 一.安装 在Ubuntu中安装还是很简单,直接:sudo apt install mongodb 二.启动 启动Mo ...

  2. windows 下安装ElasticSearch方法

    1.https://www.oracle.com/technetwork/java/javase/downloads/jdk12-downloads-5295953.html 在此页面下载安装JDK1 ...

  3. Java 包的理解与使用

    java中的包可以分为两种:内置包.用户自己定义的包.这里介绍的是用户自定义的包. 一.包的使用 1.创建PackageTest.java package com.packtest; public c ...

  4. (三)Servlet 知识点总结(来自那些年的笔记)

    (史上最全知识汇总)转载请贴上原文链接! 作者:淮左白衣 写于 2018年4月15日20:14:55 如果,碰巧你打开了本篇博客,相信我,你想要的servlet知识,这里应该都能找到!! 目录 (史上 ...

  5. Error: errCode: -404011 cloud function execution error | errMsg: clou……错误

    在开通了云开发之后,无论点击小程序获取openid按钮报,Error: errCode: -404011 cloud function execution error | errMsg: clou…… ...

  6. laravel中间件的实现原理

    中间件的实现原理 运用 array_reduce 以及 call_user_func 实现 interface Middleware { public static function handle(C ...

  7. python面向对象基础-01

    面向对象(OOP)基本概念 前言 话说三国时期曹军于官渡大败袁绍,酒席之间,曹操诗兴大发,吟道:喝酒唱歌,人生真爽! 众将直呼:"丞相好诗",于是命印刷工匠刻板印刷以流传天下; 待 ...

  8. json字符串,json对象,java对象互相转换

    1.把JSON字符串转换为JAVA 对象 JSONObject jsonobject = JSONObject.fromObject(jsonStr); User user= (User)JSONOb ...

  9. C#基础算法题 找出最大值和最小值

    找出最大值和最小值 题目要求 输入n个数,n<=100,找到其中最小的数和最大的数 实现代码 using System; namespace _1.求最大最小 { class Program { ...

  10. INTEL_BIOS 编译—for-ATOM_E3800

    INTEL_BIOS 编译—for-ATOM_E3800 ======================================================================= ...