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

前面简介文字多,但是复现过程详细,不要划走哦。可爱的你点个赞呗

0x00 Laravel简介

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

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

0x01 漏洞概述

由于Laravel自带的lgnition组件对file_get_contents()和file_put_contents()函数的不安全使用,攻击者可以通过发起恶意请求,构造恶意Log文件触发phar反序列,最终造成代码执行

0x02 影响版本

Laravel <= 8.4.2
Ignition <2.5.2

 0x03漏洞复现,环境搭建

在这里用到两台机器(使用一台机器也可)

1 攻击机:kali 2021.2

2 靶机:Centos7

 Centos操作:

  1 克隆github上已经搭建好的  环境

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

CVE-2021-3129 Laravel Debug mode 远程代码执行漏洞_第1张图片

  2 在克隆好的目录下进行执行以下命令启动环境

docker-compose up -d

  3 在浏览器访问自己ip:8888端口   并且点击Generate app key即可

CVE-2021-3129 Laravel Debug mode 远程代码执行漏洞_第2张图片

   点击之后刷新页面,出现以下页面即搭建成功

CVE-2021-3129 Laravel Debug mode 远程代码执行漏洞_第3张图片

kali操作:

   4 克隆环境的目录中附带exp,kali攻击机也可在github上进行下载(为了方便,我直接拖过去了)

    下载运行exp所使用的到的工具(与exp放同一目录下)

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

 CVE-2021-3129 Laravel Debug mode 远程代码执行漏洞_第4张图片

 CVE-2021-3129 Laravel Debug mode 远程代码执行漏洞_第5张图片

    给phpggc可执行权限 

chmod 777 ./phpggc/phpggc

   5 使用vim修改exploit.py中的目标地址为Centos7地址(即目标地址)

CVE-2021-3129 Laravel Debug mode 远程代码执行漏洞_第6张图片

  6 使用python3运行脚本开始攻击(从配置文件可以看出默认查看/etc/password文件,也可手动修改)

python3 exploit.py

 CVE-2021-3129 Laravel Debug mode 远程代码执行漏洞_第7张图片

   7 修改一下exploit.py脚本就可以执行任意命令

vim exploit.py

 在exploit文件开头添加import sys库

CVE-2021-3129 Laravel Debug mode 远程代码执行漏洞_第8张图片

  主函数修改为:


CVE-2021-3129 Laravel Debug mode 远程代码执行漏洞_第9张图片

  8 运行脚本开始测试

第一个参数为目标ip,''中为执行的命令

python3 exploit.py http://192.168.21.129:8888 'whoami'

 CVE-2021-3129 Laravel Debug mode 远程代码执行漏洞_第10张图片

 9 也可一键getshell,连接哥斯拉

exp地址:GitHub - SecPros-Team/laravel-CVE-2021-3129-EXP

CVE-2021-3129 Laravel Debug mode 远程代码执行漏洞_第11张图片

防护建议:

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

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

你可能感兴趣的:(漏洞,web,安全,web安全)