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
Outils/GitHubGitHub/esmog/nodexp
Scanners de VulnérabilitésGénération de PayloadsExploitationExploitation d'Applications WebTests d'Intrusion
GitHubesmog/nodexp

nodexp

NodeXP - Un outil d'injection JavaScript côté serveur capable de détecter et d'exploiter les vulnérabilités de Node.js

Voir le dépôt
10723il y a 1 anVérifié par Kitploit

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

NodeXP - Outil de détection et d'exploitation pour les services Node.js !

NodeXP est un outil intégré, écrit en Python 2.7, capable de détecter les vulnérabilités possibles sur les services Node.js et de les exploiter de manière automatisée, basé sur l'attaque S(erveur)S(ide)J(avaScript)I(njection) !

Pour commencer - Installation et utilisation

Téléchargez NodeXP en clonant le dépôt Git :

root@kitploit:~
git clone https://github.com/esmog/nodexp

Pour obtenir la liste de toutes les options, exécutez :

root@kitploit:~
python2.7 nodexp -h

Exemples pour les cas POST et GET respectivement :

root@kitploit:~
python2.7 nodexp.py --url="http://nodegoat.herokuapp.com/contributions" --pdata="preTax=[INJECT_HERE]" -c="connect.sid=s:i6fKU7kSLPX1l00WkOxDmEfncptcZP1v.fy9whjYW0fGAvbavzYSBz1C2ZhheDuQ1SU5qpgVzbTA"
python2.7 nodexp.py --url="http://nodegoat.herokuapp.com/contributions" --pdata="preTax=[INJECT_HERE]" -c="connect.sid=s:i6fKU7kSLPX1l00WkOxDmEfncptcZP1v.fy9whjYW0fGAvbavzYSBz1C2ZhheDuQ1SU5qpgVzbTA" --tech=blind

python2.7 nodexp.py --url="http://192.168.64.30/?name=[INJECT_HERE]" -c="connect.sid=s:i6fKU7kSLPX1l00WkOxDmEfncptcZP1v.fy9whjYW0fGAvbavzYSBz1C2ZhheDuQ1SU5qpgVzbTA"
python2.7 nodexp.py --url="http://192.168.64.30/?name=[INJECT_HERE]" -c="connect.sid=s:i6fKU7kSLPX1l00WkOxDmEfncptcZP1v.fy9whjYW0fGAvbavzYSBz1C2ZhheDuQ1SU5qpgVzbTA" --tech=blind

Configuration et utilisation des bancs d'essai

Pour vous familiariser avec NodeXP, vous aurez peut-être besoin de configurer les services de test Node.js fournis (/testbeds) et de commencer à utiliser l'outil. Une machine locale exécutant un serveur Node.js sera nécessaire.

Tout d'abord, vous devez installer les paquets 'body-parser' et 'express' dans les répertoires GET et POST.

Accédez au répertoire 'testbeds/GET' sur votre machine locale et collez la commande ci-dessous dans le terminal :

root@kitploit:~
npm install express --save
	

Accédez au répertoire 'testbeds/POST' et collez les commandes ci-dessous dans le terminal :

root@kitploit:~
npm install body-parser --save
nmp install express --save

Après l'installation correcte des paquets, vous pouvez exécuter chaque service en utilisant la commande 'node' et le fichier js souhaité (ex. node eval.js).

Une fois votre serveur opérationnel, vous êtes prêt à exécuter NodeXP et à le tester sur ces services !

Exemple pour le cas GET ci-dessous :

root@kitploit:~
python2.7 nodexp.py --url=http://localiprunningnodejsserver:3001/?name=[INJECT_HERE]

Exemple pour le cas POST ci-dessous :

root@kitploit:~
python2.7 nodexp.py --url=http://localiprunningnodejsserver:3001/post.js --pdata=username=[INJECT_HERE]

Maintenir et mettre à jour les fichiers de payload

Les payloads utilisés par les techniques d'injection aveugle et basée sur les résultats sont stockés dans "/files/blind_payloads.txt" et dans "/files/payloads.txt".

Les payloads sont écrits sur chaque ligne impaire des fichiers texte et, dans le cas de l'injection basée sur les résultats, leurs réponses attendues sont écrites sur chaque ligne paire du fichier "payloads.txt" sous forme de liste séparée par des virgules. Les lignes paires du fichier "blind_payloads.txt" sont vides.

Pour arrêter le processus d'injection, "---end(nextline)---end" est utilisé comme délimiteur permettant d'arrêter l'analyse et l'injection des payloads, pour les cas d'injection aveugle et basée sur les résultats.

Chaque utilisateur peut maintenir et mettre à jour les fichiers txt de payload avec ses propres payloads, à condition de suivre les instructions ci-dessus.

Avertissement

Le but de cet outil est strictement académique et a été développé pour mener à bien mon mémoire de master. Il pourrait également être utile lors d'un test de pénétration sur des services Node.js. Toute autre utilisation malveillante ou illégale de l'outil est fortement déconseillée et ne fait clairement pas partie de l'objectif de cette recherche.

Prérequis

  • Python 2.7
  • Metasploit Framework
  • msfvenom
  • Kali Linux (ou toute autre distribution Linux avec Metasploit Framework installé)

Bancs d'essai NodeXP

  • Téléchargez et exécutez les fichiers Node.js pour les cas GET et POST depuis ici
  • Visitez Nodegoat ou installez Nodegoat sur votre machine locale !

Construit avec

  • Python 2.7

Gestion de version

NodeXP - Version 1.2.2

Notes de mise à jour

  • Règles IDS (Snort, Suricata) ajoutées, afin de détecter les tentatives d'injection JavaScript côté serveur utilisant NodeXP
  • Fonctionnalité de shell lié (bind shell) et génération automatique de payload ajoutées.
  • Fonctionnalité de shell inversé SSL (reverse SSL shell) et génération automatique de payload ajoutées.
  • Prend en charge les payloads statiques et dynamiques pour la technique de détection basée sur les résultats
  • Prend en charge les opérations mathématiques et la concaténation dans la technique de détection basée sur les résultats.
  • Module externe ajouté (bêta) pour la génération de nouveaux payloads via l'utilisation d'un RNN (réseau de neurones récurrents).

Auteurs

  • Dimitris Antonaropoulos - esmog
Télécharger l’outil