尽管 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. S2. Android 常用控件

    [概述] Button(普通按钮):点击事件处理 Toast(消息提示) Menu(菜单): Menu + Fragment 实现菜单切换 [Button] 在 MainActivity 对应的布局文 ...

  2. oracle调用函数的方式

    --方法1.PLSQL代码块 SQL> set serveroutput onSQL> declare 2 v_sal emp_pl.sal%type; 3 begin 4 v_sal : ...

  3. java 微信开发的工具类WeChatUtils

    import com.alibaba.fastjson.JSONObject;import com.bhudy.entity.BhudyPlugin;import com.bhudy.service. ...

  4. 2020企业python真面试题持续更新中

    目录 1.软件的生命周期 2.如何知道一个python对象的类型 3.简述Django的设计模式MVC,以及你对各层的理解和用途 4.什么是lambda函数,说明其使用场景 5.python是否支持函 ...

  5. MySQL SELECT表达式的执行顺序是从左往右依次执行

    例子如下:(确保这几个变量都是初次使用,因为mysql的用户自定义变量会在整个连接session中存在) ,,; +--------+-------+---------+-------+ | +--- ...

  6. 解决GitHub下载慢问题,不用修改HOSTS文件

    写这篇文章缘由是我用的一款Github上的软件软件版本更新,想去Github上下载新的版本,结果下载速度居然只有几k,还老是下载失败,然后去修改HOSTS文件(我看文章基本都是叫修改这个),修改完成后 ...

  7. (二)发布第一个WebService服务与DSWL文档解析

    1. 编写接口 package service; import javax.jws.WebService; /** * 第一个webservice服务, * @WebService注解表示这是一个we ...

  8. C# EF & linq 常用操作

    一.EF的左连接 在EF中,当在dbset使用join关联多表查询时,连接查询的表如果没有建立相应的外键关系时,EF生成的SQL语句是inner join(内联),对于inner join,有所了解的 ...

  9. Flutter笔记(一)

    Android/iOS移动端开发 原生开发 Android原生应用通常指使用Java或Kotlin语言直接调用Android SDK开发的应用程序:而iOS原生应用通常指使用Objective-C或S ...

  10. taglist and nerdtree

    函数:function! s:Tlist_Window_Exit_Only_Window()中的winbunr(2)改为winbunr(3),即只剩2个窗口时关闭,考虑到2个窗口肯定是同时存在,所以这 ...