目录
Redis介绍
Redis 是完全开源的,遵守 BSD 协议,是一个高性能的 key-value 数据库。
Redis 与其他 key - value 缓存产品有以下三个特点:
- Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
- Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
- Redis支持数据的备份,即master-slave模式的数据备份。
Redis命令介绍
查看版本信息 127.0.0.1:6379> info
清空所有Redis数据库的所有key 慎用 127.0.0.1:6379> flushall
设置Redis本地存储的文件夹 127.0.0.1:6379> config set dir [PATH]
设置Redis本地存储的和文件名127.0.0.1:6379> config set dbfilename [FILENAME]
将当前Redis实例所有数据快照以RDB文件的形式保存到硬盘 127.0.0.1:6379> save
漏洞原理
未授权访问漏洞是一个由于redis服务版本较低其未设置登录密码导致的漏洞。
漏洞成因:
1、redis版本为4.x/5.0.5或以前的版本
2、redis绑定在0.0.0.0:6379,且没有进行添加防火墙规则避免其他非信任来源ip访问等相关安全策略,直接暴露在公网
3、没有设置密码认证(一般为空),可免密码远程登录redis服务
复现过程
环境搭建
kali(攻击机):192.168.240.128
ubuntu(目标机):192.168.240.131
靶机安装redis服务器
下载redis-4.0.10
wget http://download.redis.io/releases/redis-4.0.10.tar.gz
解压
tar -zxf redis-4.0.10.tar.gz
编译
make install
出现这样的界面表示安装成功
关闭防火墙
sudo ufw status //查看ufw状态
sudo ufw disable //关闭ufw
iptables -L// 查看iptables规则
iptables -F// 清空iptables规则