电脑疯子技术论坛|电脑极客社区

微信扫一扫 分享朋友圈

已有 3003 人浏览分享

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

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

ee800712fca616b7fec93fadbbee6e9b.jpg-wh_651x-s_875778121.jpg

什么是原型污染?顾名思义,原型污染就是指攻击者通过某种手段修改 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 的应用程序和网站仍有可能遭受攻击。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

关注

0

粉丝

9021

主题
精彩推荐
热门资讯
网友晒图
图文推荐

Powered by Pcgho! X3.4

© 2008-2022 Pcgho Inc.