复现CVE |
您所在的位置:网站首页 › cve-2022-11022漏洞修复 › 复现CVE |
警告
请勿使用本文提到的内容违反法律。 本文不提供任何担保 一、漏洞描述由于执行了消毒(sanitize)处理,也仍会执行将来自不受信任来源的HTML传递给jQuery的DOM操作方法(即html()、.append()等),从而导致xss漏洞。 二、影响版本大于或等于1.2且在3.5.0之前的jQuery版本中 三、漏洞复现poc如下: jQuery XSS Examples (CVE-2020-11022/CVE-2020-11023) function test(n,jq){ sanitizedHTML = document.getElementById('poc'+n).innerHTML; if(jq){ $('#div').html(sanitizedHTML); }else{ div.innerHTML=sanitizedHTML; } } jQuery XSS Examples (CVE-2020-11022/CVE-2020-11023)PoCs of XSS bugs fixed in jQuery 3.5.0. You can find the details in my blog post: English / 日本語 PoC 1 Assign to innerHTML Append via .html() PoC 2 (Only jQuery 3.x affected) Assign to innerHTML Append via .html() PoC 3 Assign to innerHTML Append via .html()PoC 1和PoC 2具有相同的根本原因。在中.html(),作为参数传递的HTML字符串将传递到 $ .htmlPrefilter()方法。该htmlPrefilter处理用于替换自闭合标签等进行到,通过使用以下正则表达式:**`` rxhtmlTag = / ] *)\ /> / gi [。 ..] htmlPrefilter:function(html){ return html.replace(rxhtmlTag,“ ”); }如果PoC 1的HTML通过此替换,则输出将是: > $ .htmlPrefilter(' ') ] *)\ /> / gi此更改引入了另一个XSS向量,该向量可能仅由更多基本元素和属性导致XSS。通过此更改引入了PoC 2的向量。它仅适用于jQuery3.x。在这种情况下,属性值上的 img 字符串被踢出并发生XSS。 > $ .htmlPrefilter('') “ 四、漏洞修复升级jquery最新版本 警告请勿使用本文提到的内容违反法律。 本文不提供任何担保 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |