11-Redis未授权访问漏洞
Redis 常见用途
Remote Dictionary Service
- 缓存
- 分布式 session, 分布式锁,分布式全局 ID
- 计数器,限流
- 列表
- 抽奖
- 标签
- 排行榜
Redis 持久化
RDB: Redis DataBase (默认)
AOF: Append Only File
Webshell 提权
redis-cli -h example.com -p 6379 |
反弹连接
原因
- 内网,私有 IP
- IP 动态变化
- 6379 端口不允许入方向
- 一句话木马被杀软删除
监听
#netcat |
靶机建立反弹连接



注意防火墙
总结
流程:
- 监听端口
- 执行命令,或上传 payload 访问,建立连接
上传方式:
- 文件上传漏洞
- 写入文件:MySQL, Redis, CMS
- 文本编辑命令:tee, test.py
执行方式:
访问或定时任务自动触发
定时任务
Linux crontab:

cron 文件存储路径:
/var/spool/cron: 系统管理员制定的维护系统以及其他任务的 crontab
/etc/crontab: 对应周期的任务, daily, hourly, monthly, weekly
SSH 免密登录
Redis 利用 SSH Key 提权流程:
- 控制机连接到 Redis
- 向$HOME/.ssh/authorized_keys 写入公钥
- ssh -i ./id_rsa user@IP 使用私钥免密登录
其他利用方式
- 基于主从复制的 RCE
- jackson 反序列化利用
- lua RCE
- Redis 密码爆破
防御
- 限制访问 IP
- 修改默认端口
- 使用密码访问
- 不要用 root 权限运行