前言
前段时间的平衡信息杯线下赛中遇到了一个由于redis服务无密码认证的未授权访问漏洞,于是赛后复现了一次。
SSH key 文件的准备
ssh-keygen -t rsa

在当前目录先生成.ssh的文件夹,里面有两个文件,一个私钥 id_rsa,一个公钥 id_rsa.pub。

连接redis
redis-cli -h 目标ip
使用redis-cli远程管理成功连接上无认证的redis服务,由于redis拥有可以写文件的权限,所以尝试将公钥信息写入目标主机。
config set dir /root/.ssh/
切换当前路径
|
|
将公钥信息写入authorized_keys文件,保存。

ssh连接目标主机
ssh 目标ip
(这里为了避免冲突,将ssh端口改为222)
成功连接目标主机
小结
漏洞形成的原因
- redis服务无认证,且暴露在公网。
- redis服务使用root权限启动。