(CVE-2019-16522)WordPress Plugin - EU Cookie Law (GDPR) 储存型xss =================================================================== 一、漏洞简介 ------------ WordPress的3.0.6版eu-cookie-law插件(又称为EU Cookie法(GDPR))容易受到存储XSS的影响,原因是管理区域中几个配置选项的编码不正确以及显示的Cookie同意消息。这会影响"字体颜色","背景颜色"和"禁用Cookie"文本。具有高特权的攻击者可以攻击其他用户。 二、漏洞影响 ------------ wordpress \<= 3.0.6,可能更高 三、复现过程 ------------ /wp-admin/options-general.php?page=peadig_eucookie 管理员可以在配置区域为插件设置多个选项。在插入HTML页面之前,大多数都可以正确转义。但是,可以利用三个设置值来插入任意JavaScript和HTML。那些是: 字体颜色( Font Color) 背景颜色 (Background Color) "禁用Cookie"文本 (\"Disable Cookie\" Text) " Fontcolor"的值将插入到显示Cookie同意消息的每个页面上。默认情况下,其他两个仅可在管理区域中利用。 以"字体颜色"为例 将字体颜色的值设置为 #FFFFFF"> 便可以突破HTML属性并插入script包含JavaScript 的标签 post包: POST /wp-admin/options.php HTTP / 1.1 [ ... ] [ ... ] peadig_eucookie%5 Bfontcolor%5 D = %23FFFFFF%22%3E%3Cscript%3Ealert%281%29%3C / script%3E [...] 这时候我们看一下返回值。 在管理区域中,生成的HTML页面如下所示 " class="color-field" data-default-color="#ffffff"/> 在带有cookie消息的页面上,有效负载将被多次插入。生成的HTML如下所示