freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

Cacti RRDTool后台参数注入导致远程代码执行漏洞(CVE-2025-24367)
p0et 2025-04-02 20:55:31 64182
所属地 上海

1743598470_67ed33862987ca6a7ec49.jpg!small?1743598472605

Cacti介绍:

Cacti是一款利用RRDTool数据存储和图形化功能的完整网络图形化解决方案。

漏洞概述:

在Cacti 1.2.28及以前版本中存在一个命令注入漏洞,该漏洞允许已认证用户在Web服务器上创建任意PHP文件,从而可能导致远程代码执行。

此漏洞出现在图形模板功能中,用户输入的RRDTool命令参数,如--right-axis-label,未被正确过滤。虽然Cacti尝试使用cacti_escapeshellarg()函数转义shell元字符,但它未能处理换行符。这允许攻击者突破预期的命令上下文并注入其他RRDTool命令,最终能够向Web根目录写入恶意PHP文件。

漏洞版本:

Cacti <=1.2.28

Fofa&Shodan:

FOFA: app="Cacti-Monitoring"
ZoomEye:app:"Cacti"
Shodan: http.html:"Login to Cacti"

搭建环境:

使用docker 容器搭建,采用vulhub中的docker-compose.yml以及entrypoint.sh文件,相关文件内容如下:

docker-compose.yml

services:
  web:
    image: vulhub/cacti:1.2.28
    ports:
     - "8080:80"
    depends_on:
     - db
    entrypoint:
     - bash
     - /entrypoint.sh
    volumes:
     - ./entrypoint.sh:/entrypoint.sh
    command: apache2-foreground
  db:
   image: mysql:5.7
   environment:
    - MYSQL_ROOT_PASSWORD=root
    - MYSQL_DATABASE=cacti
   command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
   ports:
    - "3306:3306"

entrypoint.sh

#!/bin/bash
set -ex

wait-for-it db:3306 -t 300 -- echo "database is connected"
if [[ ! $(mysql --host=db --user=root --password=root cacti -e "show tables") =~ "automation_devices" ]]; then
    mysql --host=db --user=root --password=root cacti < /var/www/html/cacti.sql
    mysql --host=db --user=root --password=root cacti -e "UPDATE user_auth SET must_change_password='' WHERE username = 'admin'"
    mysql --host=db --user=root --password=root cacti -e "SET GLOBAL time_zone = 'UTC'"
fi

cron

# first arg is `-f` or `--some-option`
if [ "${1#-}" != "$1" ]; then
	set -- apache2-foreground "$@"
fi

exec "$@"

将两个文件放入到同一个文件夹中,执行如下命令启动Cacti 1.2.28:

docker-compose up -d

服务启动后,访问htt

可试读前30%内容
¥ 9.9 全文查看
9.9元开通FVIP会员
畅读付费文章
最低0.3元/天
# 资讯 # 渗透测试 # 网络安全 # web安全 # 漏洞分析
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 p0et 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
p0et LV.4
这家伙太懒了,还未填写个人描述!
  • 31 文章数
  • 32 关注者
Apache Superset 漏洞组合利用拿权限
2025-04-03
Mage-AI 不安全的默认身份验证设置导致0day远程命令执行漏洞(CVE-2025-2129)
2025-03-25
影响200万+网站 Wordpress插件漏洞复现
2025-02-28
文章目录