Redis未授权访问漏洞利用合集
warning:
这篇文章距离上次修改已过420天,其中的内容可能已经有所变动。
Redis未授权访问通常是由于Redis没有设置密码或者配置不当导致可以无需验证就连接到Redis服务器。攻击者可以利用这个漏洞执行任意命令,包括读取敏感数据、写入数据、执行远程代码等。
以下是一些Redis未授权访问漏洞的利用方法:
- 利用
redis-cli工具连接到Redis服务器:
redis-cli- 列出所有key:
keys *- 获取特定key的值:
get <key>- 写入数据到Redis:
set <key> <value>- 执行远程代码(需要Redis版本在6.2以上且配置了
Eval权限):
eval "your_code_here" 0为了防御此类攻击,请确保为Redis设置密码,并且在生产环境中应用最佳实践,例如:
- 使用强密码。
- 限制Redis服务的监听地址。
- 使用防火墙规则来限制访问。
- 使用
rename-command配置来重命名或禁用不安全的命令。 - 使用Redis的访问控制列表(ACL)来限制不同用户的权限。
- 定期更新Redis到最新版本,应用安全补丁。
修复方法:
- 设置密码:在Redis配置文件中设置
requirepass指令。
requirepass yourpassword- 监听地址:修改
bind指令限制监听地址。
bind 127.0.0.1- 命令重命名:修改
rename-command指令。
rename-command CONFIG ""- 使用ACL:通过
user指令设置不同用户的权限。
user default on nopass ~* +@admin确保在修改配置后重启Redis服务使设置生效。
评论已关闭