CVE-2021-3129_Laravel Ignition 2.5.1 代码执行漏洞
漏洞详情
Laravel是一个由Taylor Otwell所创建,免费的开源 PHP Web 框架。在开发模式下,Laravel使用了Ignition提供的错误页面,在Ignition 2.5.1及之前的版本中,有类似这样的代码:
```php
$contents = file_get_contents($parameters['viewFile']);
file_put_contents($parameters['viewFile'], $contents);
```
攻击者可以通过`phar://`协议来执行反序列化操作,进而执行任意代码。
环境搭建
靶场:192.168.4.29_kali
执行如下命令启动一个运行着Laravel 8.4.2和Ignition 2.5.1的应用:
#docker-compose up -d
环境启动后,访问`http://your-ip:8080`即可查看Laravel默认的欢迎页面。
漏洞利用
1. 赋予phpggc权限(https://github.com/ambionics/phpggc)
2. 执行exp(注意exp目标改为目标地址)
成功执行