目录
一、redis介绍
Redis 是一个开源的、基于内存的数据存储系统,可以作为数据库、缓存和消息队列等使用。它支持多种数据结构,例如字符串、哈希、列表、集合、有序集合等,且提供了事务、持久化、复制等功能。
二、常用命令
redis-cli -h ip -p 6397 -a passwd #外部连接;
-h:指定redis服务器的主机名或IP地址 -p:指定redis服务器的端口号 -a:指定redis服务器的密码
info #查看相关信息
config set dir /root/redis #设置保存目录
config get dir #查看保存目录
config set dbfilename redis.rdb #设置保存文件名
config get dbfilename #设置保存文件名
flushall #删除所有数据
del key #删除键为key的数据
save #进行备份操作
三、未授权漏洞原理
Redis默认情况下,会绑定在0.0.0.0:6379端口,如果在部署时没有采取相关策略,比如没有设置密码或者弱密码的情况下且没有对非信任ip做限制等,这样就会将Redis服务器暴露在公网,会导致任意用户的未授权访问读取数据。攻击这在未授权访问Redis的情况下,利用Redis本身提供的config命令,可以对文件进行操作,攻击这可以成功将自己的ssh公钥写入目标服务器的authotrized_key文件中,进而可以使用ssh服务登录目标服务器。
四、影响版本
Redis 5.0版本以下
五、漏洞复现
1)环境搭建
虚拟机 | ip |
kali | 192.168.247.130 |
centos7 | 192.168.247.136 |