专栏首页黑白安全jQuery 的“原型污染”安全漏洞

jQuery 的“原型污染”安全漏洞

前两周发布的 jQuery 3.4.0 除了常规更新外,更重要的是修复了一个称为“原型污染(prototype pollution)”的罕见安全漏洞。

什么是原型污染?顾名思义,原型污染就是指攻击者通过某种手段修改 JavaScript 对象的 prototype。

JavaScript 对象就跟变量一样,但它不是存储一个值(var car =“Fiat”),而是可以包含基于预定义结构的多个值 (var car ={type:”Fiat”, model:”500″, color:”white”})。

prototype 定义了 JavaScript 对象的默认结构和默认值,因此在没有为对象赋值时应用程序也不会崩溃。

但如果攻击者从 JavaScript 对象的 prototype 入手,攻击者可通过将其控制的 prototype 注入对象,然后通过触发 JavaScript 异常导致拒绝服务(denial of service),或者篡改应用程序源代码以注入攻击者的代码路径。最终的结果可能就是导致应用程序崩溃或劫持应用程序。

Snyk 团队详细描述了这个新的 jQuery “原型污染”漏洞,其中包含攻击原理和规避方法。“原型污染攻击(CVE-2019-11358)”的概念验证代码点此查看

虽然漏洞比较严重,但好在“原型污染”攻击并不能被大规模利用,因为每段攻击代码必须针对每个目标进行微调。此外,大部分网站并不使用 jQuery 进行重要的操作,主要是用于操作动画中的菜单或创建弹窗等。

最后,如果担心安全问题,建议升级至最新版本 jQuery 3.4.0,毕竟目前大多数网站仍在使用 jQuery 的 1.x 和 2.x 分支,这意味着绝大多数基于 jQuery 的应用程序和网站仍有可能遭受攻击。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Avast 回应:收集数据仅为改善 CCleaner 未来会提升透明度

    自去年安全软件公司Avast宣布收购 Piriform 公司之后,包括 CCleaner 在内的多款热门应用也一并纳入 Avast 旗下。然而自收购以来问题不断...

    周俊辉
  • 企业只能修复10%的漏洞?

    衡量安全性不缺乏度量标准——从漏洞和攻击的数量到拒绝服务攻击每秒的字节数。最近一份报告研究了组织机构需要多长时间来修复他们的系统漏洞,以及他们实际上修复的漏洞数...

    周俊辉
  • 重视GitHub类安全威胁 从企业外部风险监测入手

    黑客在黑市出售客户数据的事件时有发生,而GitHub作为主流的面向开源及私有软件项目的托管平台,似乎每逢重大数据泄露事件发生,总能看到它的身影。

    周俊辉
  • CES现场芯片巨头上演开年大战!AMD、英特尔、英伟达、高通震撼对决

    一年一度科技圈的开年大戏“CES”正在美国拉斯维加斯上演。包括AMD、英特尔、英伟达和高通在内的芯片巨头展示了它们最新的产品和技术。

    新智元
  • 分布式任务管理系统 Celery 之二

    前面一篇文章分布式任务管理系统 Celery 之一介绍了分布式任务调度队列Celery的框架以及原理,使用的例子比较简单,对实际的使用场景没有意义。本系列文章...

    用户1278550
  • leetcode之多数元素

    这里采用投票法来解题,遍历数组,若vote小于等于0则给当前计数对象重新赋值,之后判断当前值是否为计数对象,是的话投票数加1,否则减1,遍历完即得到结果。

    codecraft
  • leetcode之多数元素

    这里采用投票法来解题,遍历数组,若vote小于等于0则给当前计数对象重新赋值,之后判断当前值是否为计数对象,是的话投票数加1,否则减1,遍历完即得到结果。

    codecraft
  • 机器翻译质量评测算法-BLEU

    用户1130025
  • C++踩坑记录(一)std:;string的析构

    越学C++越觉得自己菜了 之前写服务端程序有一个往消息队列里面推json的过程,然后发现推进去C#端取到的无论如何都是个空指针 简单复现一下现场

    Pulsar-V
  • 程序员修仙之路-数据结构之 CXO让我做一个计算器

    栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对的,把另一端称为栈底。向一个栈插入新元素又...

    架构师修行之路

扫码关注云+社区

领取腾讯云代金券