[漏洞分析] BlackCat CMS 1.1.1任意文件下载
来源:互联网 发布:002175东方网络股票 编辑:程序博客网 时间:2024/05/16 08:54
此漏洞编号为EDBID:37304
BlackCat是一款开源、易于使用、灵活的内容管理系统(CMS),默认语言为德语,使用时可以设置为英语。其1.1.1版本中存在任意文件下载漏洞。
一、漏洞复盘
首先在实验环境下安装该系统,安装完成后的登录界面如下
输入在安装过程中设置的登录凭证admin/$Admin1,成功进入系统
在浏览器上访问存在漏洞的php文件,在本例中为http://[HOST]//blackcat/modules/blackcat/widgets/logs.php?dl=../config.php,并且下载任意文件,浏览器显示如下
也可以在终端利用curl直接将要下载文件的内容显示出来
curl -sH 'Accept-encoding: gzip' "http://[HOST]/blackcat/modules/blackcat/widgets/logs.php?dl=../config.php" |gunzip -
综上可知,利用这个漏洞,可以下载网站的任意文件,造成信息泄露。
二、漏洞分析
漏洞位于[ROOT]\modules\blackcat\widgets\logs.php中的第73行~第100行
这段代码首先在第75行从URL中的dl参数中得到需要下载的文件的名称,
随后在第76行判断文件是否存在,
从78行到80行的意思是如果待下载的文件确实存在,那么在该文件所在路径下创建一个同名的zip文件。
之后在第81行判断压缩文件中是否存在错误,若没有,则进一步处理,即强制让浏览器发生下载动作,也就是从86行到100行的内容。
问题即出现在第75行,对于从dl参数中得到的待下载的文件名没有做任何过滤就与路径字符串进行拼接。因此文件名中存在路径切换字符时,就会使得用户能切换到任意路径下的任意文件,进而下载它们。
三、修复方法
可以检查参数dl中是否有../这类的路径切换字符,如有则发出警告。
也可以设定一个可下载文件名称的白名单,仅可下载名单内的文件。
- [漏洞分析] BlackCat CMS 1.1.1任意文件下载
- [漏洞分析] Wolf CMS 0.8.2中任意文件上传漏洞
- 任意文件读取下载漏洞
- 【原创技术分享】Exponent-cms任意文件上传漏洞分析 (cve-2016-7095)
- SpeedCMS任意文件下载读取漏洞
- 记录一次“任意文件下载”高危漏洞
- 齐博cms任意登陆漏洞
- FFmpeg任意文件读取漏洞分析
- FFmpeg任意文件读取漏洞分析
- FFmpeg任意文件读取漏洞分析
- PHPCMS最新版任意文件上传漏洞分析
- Wolf CMS 新旧两个版本中的文件上传漏洞分析
- 科讯Kesion Cms7.0 任意文件下载漏洞
- kesioncms (科讯cms) 6.x-8.x版本写入任意内容文件漏洞
- 乌云漏洞笔记1-任意文件读取
- 任意文件包含漏洞
- 齐博cms老漏洞分析
- 齐博cms 7.0 漏洞分析
- Longest Palindromic Substring
- iOS常用控件
- 直接选择排序法
- Java基础学习之多线程
- axis2连SQLServer 2008, 应用服务器用tomcat
- [漏洞分析] BlackCat CMS 1.1.1任意文件下载
- opencv配置
- 四种常见的 POST 提交数据方式
- hdu 3433(dp+二分) A Task Process
- 【Linux 内核网络协议栈源码剖析】sendto 函数剖析
- 旋转数组中的最小值
- 专访友盟CEO叶谦:深挖海量终端用户数据的价值
- 我的架构师梦想日记
- Handler