WordPress评论插件wpDiscuz任意文件上传复现

2020年9月25日 265点热度 0人点赞 0条评论


上方蓝色字体关注我们,一起学安全!
作者:daxi0ng@Timeline Sec
本文字数:732
阅读时长:2~3min
声明:请勿用作违法用途,否则后果自负


0x01 简介

wpDiscuz是WordPress评论插件。创新,现代且功能丰富的评论系统,可充实您的网站评论部分。


图片


0x02 漏洞概述

Wordfence的威胁情报团队在一款名叫wpDiscuz的Wordpress评论插件中发现了一个高危漏洞,而这款插件目前已有超过80000个网站在使用了。这个漏洞将允许未经认证的攻击者在目标站点中上传任意文件,其中也包括PHP文件,该漏洞甚至还允许攻击者在目标站点的服务器中实现远程代码执行。


0x03 影响版本

wpDiscuz7.0.0–7.0.4

0x04 环境搭建

Wordpress5.4.1下载地址

https://cn.wordpress.org/wordpress-5.4.1-zh_CN.tar.gz


wpDiscuz7.0.3下载地址

https://downloads.wordpress.org/plugin/wpdiscuz.7.0.3.zip


用phpstudy搭建Wordpress,然后将wpdiscuz放到\wordpress\wp-content\plugins目录下,进入Wordpress后台插件页面启动即可。

图片

0x05 漏洞复现

1、进入首页默认文章的评论处。点击图片标签。

图片

2、wpDiscuz插件会使用mime_content_type函数来获取MIME类型,但是该函数在获取MIME类型是通过文件的十六进制起始字节来判断,所以只要文件头符合图片类型即可。


图片


3、访问上传的文件。

http://127.0.0.1////wordpress////wp-content////uploads////2020////09////1-1600845408.8181.php

图片

0x06 修复方式

升级wpDiscuz版本。

https://downloads.wordpress.org/plugin/wpdiscuz.7.0.7.zip


isAllowedFileType函数中对extension后缀进行了检测,当MIME与后缀不一样时会在进入最后一步之前返回False,也就是说使用MIME的白名单来对上传文件的后缀进行了限制。

图片


0x07 踩坑经验

分析有很多师傅分析过了,我就说下我遇到的问题。

1、搭建wp的时候,getMimeType函数的前两个if判断默认函数是否被定义都返回False,然后跳到了wordpress自带的wp_check_filetype函数中,就会绕过失败。后换了一个工具搭建wp就没有这个问题。

图片


使用其他版本搭建

图片

参考链接:

https://xz.aliyun.com/t/8138


图片
图片
阅读原文看更多复现文章
Timeline Sec 团队
安全路上,与你并肩前行

26040WordPress评论插件wpDiscuz任意文件上传复现

root

这个人很懒,什么都没留下

文章评论