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

  • A+
所属分类:安全文章


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


0x01 简介

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


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


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放到wordpresswp-contentplugins目录下,进入Wordpress后台插件页面启动即可。

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


0x05 漏洞复现


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


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


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


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


3、访问上传的文件。

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


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


0x06 修复方式


升级wpDiscuz版本。

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


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


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


0x07 踩坑经验


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

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


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


使用其他版本搭建


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


参考链接:

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



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

WordPress评论插件wpDiscuz任意文件上传复现
阅读原文看更多复现文章
Timeline Sec 团队
安全路上,与你并肩前行





发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: