8月16日,由三矛科技的外部威胁情报检测模块在fulldisclosure发现
8月17日,三矛科技通过微信公众号对该漏洞首次正式预警
zabbix是一个开源的企业级性能监控解决方案。
官方网站:http://www.zabbix.com
zabbix的jsrpc的profileIdx2参数存在insert方式的SQL注入漏洞,攻击者无需授权登陆即可登陆zabbix管理系统,也可通过script等功能轻易直接获取zabbix服务器的操作系统权限。
攻击成本:低
危害程度:高
是否登陆:不需要
影响范围:2.2.x, 3.0.0-3.0.3。(其他版本未经测试)
在您的zabbix的地址后面加上如下url:
/jsrpc.php?sid=0bcd4ade648214dc&type=9&method=screen.get&tim
estamp=1471403798083&mode=2&screenid=&groupid=&hostid=0&pageFile=hi
story.php&profileIdx=web.item.graph&profileIdx2=2’3297&updateProfil
e=true&screenitemid=&period=3600&stime=20160817050632&resourcetype=
17&itemids%5B23297%5D=23297&action=showlatest&filter=&filter_task=&
mark_color=1
输出结果,出现如下图黄色关键字表示漏洞存在:
以上为仅为漏洞验证测试方式。
攻击者可以通过进一步构造语句进行错误型sql注射,无需获取和破解加密的管理员密码。
有经验的攻击者可以直接通过获取admin的sessionid来根据结构算法构造sid,替换cookie直接以管理员身份登陆。
哥哥们还是尽快先去升级到最新版吧,据说3.0.4版本已经修补。。。
监控系统监控着每个企业的核心资产,一旦被黑客入侵控制,等同帮助黑客进一步渗透企业敞开了大门。
请大家务必重视,并尽快修补此漏洞。
补充解决方案
我现在用的是zabbix 3.0.4,这个漏洞好像还是存在的,所以如果你是nginx,可以在server段加下面试试,然后打开日志,看看有没有误判,这是临时暴力解决方案,有问题可以回复。
if ($request_uri ~ ^(.+.php)(.*)$) { set $req $2; } if ($req ~* "union[+|(%20)]") { return 503; } if ($req ~* "and[+|(%20)]") { return 503; } if ($req ~* "select[+|(%20)]") { return 503; }