Wordpress 插件 Media Library Assistant 2.81-(LFI和XSS)
字数 1343 2025-08-25 22:58:35
WordPress插件Media Library Assistant 2.81漏洞分析报告
1. 漏洞概述
Media Library Assistant是WordPress的一个用于图像和文件管理的插件。在2.81版本中存在两个安全漏洞:
- 本地文件包含(LFI)漏洞:允许攻击者读取服务器上的文件
- 跨站脚本(XSS)漏洞:在管理后台存在存储型XSS
2. 影响版本
Media Library Assistant插件版本 < 2.82
3. LFI漏洞分析
3.1 漏洞位置
/media-library-assistant/includes/mla-file-downloader.php
3.2 漏洞原理
-
该文件引入了
class-mla-file-downloader.php -
处理两个关键参数:
mla_download_file:指定要下载的文件mla_download_type:指定文件类型
-
漏洞存在于
mla_process_download_file()函数中:$file_name = $args['mla_download_file']; $match_name = str_replace( '\\', '/', $file_name ); $base_dir = pathinfo( __FILE__, PATHINFO_DIRNAME ); $match_dir = str_replace( '\\', '/', $base_dir ); $allowed_path = substr( $match_dir, 0, strpos( $match_dir, 'plugins' ) ); if ( 0 !== strpos( $match_name, $allowed_path ) ) { $message = 'ERROR: download path out of bounds.'; } elseif ( false !== strpos( $match_name, '..' ) ) { $message = 'ERROR: download path invalid.'; } -
安全限制:
- 过滤了
..防止目录穿越 - 只能读取
plugins目录下的内容
- 过滤了
3.3 漏洞利用
虽然有限制,但仍可读取插件目录下的敏感文件:
http://127.0.0.1/wordpress/wp-content/plugins/media-library-assistant/includes/mla-file-downloader.php?mla_download_type=text/html&mla_download_file=C:\phpstudy\PHPTutorial\WWW\wordpress\wp-content\plugins\rest-api\extras.php
3.4 修复方案
在2.82版本中直接禁止了这一行为。
4. XSS漏洞分析
4.1 漏洞前提
需要管理员(admin)权限
4.2 漏洞位置
存在于插件设置页面(/wp-admin/options-general.php?page=mla-settings-menu)的所有标签的搜索框中,特别是:
includes/class-mla-settings-view-tab.php
4.3 漏洞原理
s参数未经过滤直接输出,导致存储型XSS。
4.4 漏洞利用
在Views标签或其他标签的搜索框中注入恶意脚本即可触发。
4.5 修复方案
在2.82版本中增加了WordPress内置函数esc_attr()进行过滤。
5. 漏洞验证与测试
5.1 测试环境搭建
- 下载漏洞版本插件:
https://downloads.wp.xz.cn/plugin/media-library-assistant.2.81.zip - 安装WordPress并启用该插件
5.2 LFI测试步骤
- 构造包含
mla_download_file和mla_download_type参数的URL - 尝试读取
plugins目录下的其他文件
5.3 XSS测试步骤
- 以管理员身份登录
- 访问插件设置页面
- 在任意标签的搜索框中输入XSS payload
6. 防护建议
- 立即升级到2.82或更高版本
- 对于无法立即升级的情况:
- 限制对
mla-file-downloader.php的访问 - 添加输入过滤函数对所有用户输入进行处理
- 限制对
7. 参考链接
- Exploit-DB: https://www.exploit-db.com/exploits/48315
- 官方插件页面: https://wordpress.org/plugins/media-library-assistant/#developers
8. 总结
虽然这两个漏洞的威胁程度有限(LFI受限于目录访问范围,XSS需要管理员权限),但仍可能被攻击者利用进行信息收集或权限提升。建议所有使用该插件的网站管理员及时更新到最新版本。