是这样的朋友们,CVE-2020-11022 是 jQuery 低于 3.5.0 版本(及更早版本)中的一个漏洞,该漏洞本身是通过利用 DOM 操作(例如 .html()、.append() 等)触发 XSS,从而执行恶意的 XSS 代码。
验证 jQuery 版本:确保目标使用的是存在漏洞的 jQuery 版本。该漏洞影响低于 3.5.0 的 jQuery 版本(3.5.0 及以上版本已修复)。
识别目标元素(转储 ID):收集(转储)页面中所有 HTML 元素的 id 属性。这是为了查找可能被应用程序用作处理输入的接收器(sink)的元素,通过这些元素可以使用 DOM 操作方法。
选择测试元素:从之前提取的结果中选择一个元素 ID。例如,我们假设有一个 ID 为 #error-msg 的元素。
执行 Payload:通过将 payload 注入目标接收器(例如:.html() 方法)来触发 DOM 操作。
注入语法:$('#error-msg').html(payload)
<style><style />
验证成功(执行):如果存在漏洞,payload 将绕过旧版 jQuery 的正则过滤器,而 onerror 属性中的脚本将由浏览器直接执行(触发/爆炸),弹出一个 alert 作为证明(概念验证)。