复现CVE

您所在的位置:网站首页 cve-2022-11022漏洞修复 复现CVE

复现CVE

#复现CVE| 来源: 网络整理| 查看: 265

警告

请勿使用本文提到的内容违反法律。 本文不提供任何担保

一、漏洞描述

        由于执行了消毒(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() x 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