Wordpress 插件 Media Library Assistant 2.81-(LFI和XSS)

Wordpress 插件 Media Library Assistant 2.81-(LFI和xss)

前言

个人觉得漏洞威胁不算太大,但也作为一个弱鸡的学习经历将其记录下来

Media Library Assistant用于进行图像和文件管理

影响版本

<2.82

漏洞版本下载地址:https://downloads.wp.xz.cn/plugin/media-library-assistant.2.81.zip

LFI

漏洞位置:

/media-library-assistant/includes/mla-file-downloader.php

引入class-mla-file-downloader.php,且注意下文的两个参数:mla_download_filemla_download_type以及方法:mla_process_download_file()

跟入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.';
            }
        } else {
            $message = 'ERROR: download argument(s) not set.';

可以看出为了防止目录穿越对..进行了过滤,只能读取plugin目录下的内容,这么来看,可能可以读取插件目录下的某些信息但利用效果似乎不大

然后就可以进行下载:

if ( empty( $message ) ) {
            header('Pragma: public');   // required
            header('Expires: 0');       // no cache
            header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
            header('Last-Modified: '.gmdate ( 'D, d M Y H:i:s', filemtime ( $file_name ) ).' GMT');
            header('Cache-Control: private',false);
            header('Content-Type: '.$args['mla_download_type']);

poc:

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

该漏洞不需要授权

修复

在2.82版本中,直接禁止了这一行为:

xss

前提:admin角色

设置/Media Library Assistant的所有标签的搜索框存在xss

views标签:includes/class-mla-settings-view-tab.php:

s参数即是注入点,无过滤

触发:

同理在uploads等的标签中的搜索框也存在:

修复

在2.82版本中增加了wordpress内置函数esc_attr进行过滤操作

参考链接:

https://www.exploit-db.com/exploits/48315

https://wordpress.org/plugins/media-library-assistant/#developers

本文来源于: https://xz.aliyun.com/t/7722

相关推荐

登陆爆破之0基础绕过密码加密

0x01、起因 前段时间身为菜鸡的我也终于接到了一个内网任务,由于没有经验渗透过程中花了很多不必要的时间,导致后期在向目标域移动的时候授权time up了。 之中就有一个前端密码加密的OA,js基础只限于alert(1)的我第一次走运地找到

信息收集

前言:最近学习关于信息方面的内容,感觉非常有意思,就将自己总结的笔记分享一下。共同学习,共同进步。 域名信息收集 域名介绍(Domain Name):是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输

WordPress Real-Time Find and Replace插件CSRF to Stored XSS漏洞分析

前言 Real-Time Find and Replace是一个可以实时查找和替换WordPress网页数据的插件。据统计,该漏洞已安装在100,000多个站点上。 近日Real-Time Find and Replace 3.9版本被披露

说说代理池

近期由于工作中的遇到的问题,在研究代理池,其实代理池应该说已经是比较成熟的技术,而且在飞速发展,比如现在主流的“秒拨”技术,给企业在风险IP识别和判定上带来极大的难度。代理池技术目前被广泛用于爬虫、灰黑产、SEO、网络攻击、刷单、薅羊毛等等

CVE-2020-600/6009/6010/11511:在线学习平台多安全漏洞

漏洞概述 研究人员在最常见的Learning Management Systems(LMS)插件LearnPress、LearnDash和LifterLMS中发现了多个安全漏洞,包括权限提升漏洞、SQL注入、远程代码执行漏洞。 研究人员共发

浅析TestLink的三个CVE

浅析TestLink的三个CVE 前言:由于一开始文章被吞了后半部分,造成了一些误会,现在都补上啦,谢谢王叹之师傅的提醒,hhh 后来才知道是我加了几个表情的锅2333 Testlink是一个开源的、基于Web的测试管理和测试执行系统,由P

关于一次python获得完整交互式shell的研究

关于一次python获得完整交互式shell的研究 前言 (以下基于linux系统)在一次研究后渗透的过程中,我学习到了关于tsh(tiny shell)的使用,虽然它已经是一个有了十几年历史的老工具了,但是仍然值得学习和研究,其中最让我感

域信息枚举

0x00、前言 域内基本的信息枚举是拿到域内机子之后必不可少的一步,后续操作可以说完全依赖于信息枚举的程度 这里只针对域内信息进行枚举(域用户、域组、ACLs、GPO、OUs、信任关系、一些特殊的账户属性和文件......) 下面列举出Ac

How to hook Android Native methods with Frida (Noob Friendly)

原文地址:https://erev0s.com/blog/how-hook-android-native-methods-frida-noob-friendly/ 在上一篇文章中,我们以Android应用程序为例,并假设我们想要使用C/C+

CVE-2020-0932:使用TYPECONVERTERS在MICROSOFT SHAREPOINT上执行远程代码

来源:https://www.zerodayinitiative.com/blog/2020/4/28/cve-2020-0932-remote-code-execution-on-microsoft-sharepoint-using-ty

域控提权合集

0x01、前言 菜鸡一枚,标题起的可能有点大,只是个人笔记整理的一个合集(所以基本每个例子都会有实例)。所以虽然说是合集,可能都没有囊括到各位大佬会的一半。还请各位大佬轻喷 0x02、目录 GPP和SYSVOL中的密码 MS14-068 D