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 的应用程序和网站仍有可能遭受攻击。
jQuery 的“原型污染”安全漏洞相关推荐
- 关于原型污染漏洞的完整指南
聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码卫士 原型污染漏洞是安全社区所知不多的漏洞之一.2017年左右,研究人员开始将其视作一个潜在的攻击向量:2018年,第一批漏洞在野现身.本文将深 ...
- Node.js 沙箱易受原型污染攻击
聚焦源代码安全,网罗国内外最新资讯! 编译:代码卫士 研究人员表示,用于测试不可信 JavaScript 代码的沙箱 vm2 中存在一个漏洞,可使恶意人员规避该库的安全控制并执行远程代码执行攻击. ...
- Kibana原型污染导致远程执行代码 CVE-2019-7609 漏洞复现
Kibana原型污染导致远程执行代码(CVE-2019-7609) by ADummy 0x00利用路线 0x01漏洞介绍 Kibana是Elasticsearch的开源数据可视化仪表板. 5 ...
- NodeBB原型污染漏洞可导致账户遭接管
聚焦源代码安全,网罗国内外最新资讯! 编译:代码卫士 用于创建论坛应用的 Node.js 平台 NodeBB,已修复一个原型污染漏洞,它可导致攻击者模拟其它用户并接管管理员账户.该漏洞是由于错误地处 ...
- node.js 原型污染攻击的分析与利用
目录 简介 javaScript中的对象 constructor是什么? javaScript中的原型 原型污染 Merge()为什么不安全? 简介 原型污染攻击, 如名所示, 是通过污染一个基础对象 ...
- 分享一个超棒的在线jQuery mobile原型设计开发工具 - codiqa
在线演示 本地下载 今天我们分享一个超棒的在线jQuery mobile原型设计开发工具:Codiqa,这个在线设计工具能够帮助我们快速的使用拖拽的方式来构建一个jQuery mobile的web应 ...
- jQuery 的原型关系图
整理了一下 jQuery 的原型关系图,理解起来更加方便一些. 图例: 黄色的为对象,蓝色的为函数. 转载于:https://www.cnblogs.com/haogj/archive/2010/04 ...
- jquery使用原型
jquery使用原型 html代码如下: <!DOCTYPE html> <html lang="en"> <head><meta cha ...
- HTTP参数污染(HPP)漏洞
HPP(HTTP参数污染) HPP是HTTP Parameter Pollution的缩写,意为HTTP参数污染. 原理:浏览器在跟服务器进行交互的过程中,浏览器往往会在GET/POST请求里面带上参 ...
最新文章
- swift通知栏推送_如何使用Swift和Laravel使用推送通知创建iOS加密跟踪应用
- 3a三次方h c语言表达式,希尔伯特曲线——第八届蓝桥杯C语言B组(国赛)第三题...
- BZOJ 3745: [Coci2015]Norma(分治)
- VL09增强-冲销校验
- 【机器学习】特征降维-特征选择
- 人工智能实践之旅 —— 简单说说主要内容和安排
- java生成pdf_Java实现PDF文件生成并且打印pdf文件 demo
- mysql数据库详解(续一)
- 【渝粤题库】广东开放大学企业标准化 形成性考核
- ES备份工具elasticdump
- 利用c语言编制1个程序,实现对给定语法句子的递归下降分析.,递归下降语法分析 - osc_3ubrwgtm的个人空间 - OSCHINA - 中文开源技术交流社区...
- Azure Blob 存储简介
- 数据库原理mysql课堂超星尔雅_超星尔雅数据库原理网课答案
- 火山PC模拟鼠标操作
- 数据结构与算法分析:C语言描述(原书第2版) PDF+源代码+习题答案
- 小程序对接企业微信客服
- python元组操作_python元组操作
- FAT16 FAT32 NTFS exFAT ReFS
- JQuery 的click失效,无法触发
- 用汇编语言写51单片机程序开头为什么一般都这样:ORG 0000H LJMP MAIN ORG 0030H
热门文章
- matlab分支定界法linprog_序列比对(二十二)——中间字符串分支定界方法中更紧的界...
- java executequery_java execute、executeQuery和executeUpdate之间的区别
- ROS入门笔记(一): ROS简介
- win台式找不到计算机管理,win10系统计算机右键-管理打不开windows找不到文件的解决方法...
- oracle .bash_profile在哪,oracle 11g 测试用户的 .bash_profile 环境变量,路径设置
- zabbix4监控mysql_Zabbix4监控Mysql5.7
- 400集python入门到精通_2020年最强Python学习路线+教程,400集带你从入门到精通
- 168输出为861java_AcWing 861. 二分图的最大匹配-java-关键处注释
- 江苏大学计算机学院宋美如,姜震-江苏大学计算机科学与通信工程学院
- IBM MQ 使用指南