【代码审计】WordPress 插件 download-manager 神奇的漏洞

admin 2023年8月12日02:04:54评论40 views字数 672阅读2分14秒阅读模式
【代码审计】WordPress 插件 download-manager 神奇的漏洞
【代码审计】WordPress 插件 download-manager 神奇的漏洞

这个漏洞是历史版本发现的漏洞,在最新版本上已经被修复。

WordPress 下载管理器是一个文件/文档管理插件,旨在管理、跟踪和控制 WordPress 网站的文件下载。您可以使用密码和用户角色来控制对文件的访问、管理下载速度并限制每个用户的下载数量。

它还提供验证码锁定或 IP 阻止等功能来阻止机器人、不需要的用户或垃圾邮件发送者。您甚至可能要求用户在下载之前同意您的条款和条件。Wordpress download-manager 插件存在越权漏洞,攻击者在知道某个文件的下载密码后,可以下载网站上的任意加密文件。

神奇的越权漏洞

【代码审计】WordPress 插件 download-manager 神奇的漏洞

漏洞测试

插件下载地址

https://downloads.wordpress.org/plugin/download-manager.3.2.70.zip

登录后台后,上传并加载启用插件,我们添加两个不同的文件,并设置不同的密码

【代码审计】WordPress 插件 download-manager 神奇的漏洞
【代码审计】WordPress 插件 download-manager 神奇的漏洞
【代码审计】WordPress 插件 download-manager 神奇的漏洞

访问对应的下载页面

【代码审计】WordPress 插件 download-manager 神奇的漏洞

点击下载均需要输入密码

【代码审计】WordPress 插件 download-manager 神奇的漏洞

此时我们仅知道文件1 的下载密码是123456 文件二的密码并不清楚

【代码审计】WordPress 插件 download-manager 神奇的漏洞

输入密码显示出了文件的下载地址
此时我们访问下载地址

【代码审计】WordPress 插件 download-manager 神奇的漏洞

下载的文件一的内容,同时修改参数wpdmdl 的值

【代码审计】WordPress 插件 download-manager 神奇的漏洞

发现将文件二也下载了下来

【代码审计】WordPress 插件 download-manager 神奇的漏洞

漏洞分析

WPDM__Apply::triggerDownload 处理下载操作

【代码审计】WordPress 插件 download-manager 神奇的漏洞

is_wpdmkey_valid

【代码审计】WordPress 插件 download-manager 神奇的漏洞

WPDM__TempStorage::get

【代码审计】WordPress 插件 download-manager 神奇的漏洞

我们注意到key 的处理查询跟时间有关,跟 id 无关,所以获取的key 在时间范围内可以下载任意加密文件,无论密钥值。

原文始发于微信公众号(火线Zone):【代码审计】WordPress 插件 download-manager 神奇的漏洞

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年8月12日02:04:54
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【代码审计】WordPress 插件 download-manager 神奇的漏洞https://cn-sec.com/archives/1951109.html

发表评论

匿名网友 填写信息