
Scanner pour détecter la présence de CVE-2025-55182 & CVE-2025-66478 sur les services web ciblés.
Un scanner sûr et non invasif pour détecter les composants serveur React (RSC) et les vulnérabilités d'exécution de code à distance Next.js (CVE-2025-55182 et CVE-2025-66478).
Ce scanner aide les organisations à identifier si leurs services web sont vulnérables à la vulnérabilité React2Shell, qui affecte les applications utilisant les composants serveur React et Next.js. La vulnérabilité permet aux attaquants d'exécuter du code à distance via des données de formulaire multipart spécialement conçues.
Important : Ce scanner utilise uniquement des méthodes de détection par canal auxiliaire sûres et n'exécute pas de code sur les systèmes cibles.
Méthode de détection sécurisée
Options de scan flexibles
/_next, /api)Options de sortie
pip install -r requirements.txt
Ou installer manuellement :
pip install requests tqdm urllib3
Scanner une seule URL :
python scanner.py -u https://example.com
Scanner plusieurs hôtes à partir d'un fichier :
python scanner.py -l hosts.txt
Scanner avec des chemins personnalisés :
python scanner.py -u https://example.com --path /_next --path /api
Scanner avec des chemins depuis un fichier :
python scanner.py -u https://example.com --path-file paths.txt
En-têtes personnalisés :
python scanner.py -u https://example.com -H "Authorization: Bearer token" -H "X-Custom: value"
Scan multi-threadé :
python scanner.py -l hosts.txt -t 20
Exporter les résultats en JSON :
python scanner.py -l hosts.txt -o results.json
Exporter tous les résultats (y compris les non vulnérables) :
python scanner.py -l hosts.txt -o results.json --all-results
Mode verbeux (afficher les détails pour tous les hôtes) :
python scanner.py -l hosts.txt -v
Mode silencieux (afficher uniquement les hôtes vulnérables) :
python scanner.py -l hosts.txt -q
Désactiver les couleurs :
python scanner.py -l hosts.txt --no-color
Un hôte par ligne. Les lignes commençant par # sont ignorées.
https://example.com
http://test.example.org
another-site.com
# This is a comment
Un chemin par ligne. Les chemins seront automatiquement précédés de / si absent.
/_next
/api
/actions
# Comment lines are ignored
| Option | Description |
|---|---|
-u, --url URL | URL unique à scanner |
-l, --list FILE | Fichier contenant la liste des hôtes à scanner |
-t, --threads N | Nombre de threads simultanés (défaut : 10) |
--timeout N | Délai d'attente de la requête en secondes (défaut : 10) |
-o, --output FILE | Fichier de sortie pour les résultats (format JSON) |
--all-results | Enregistrer tous les résultats, pas seulement les hôtes vulnérables |
-k, --insecure | Désactiver la vérification du certificat SSL |
-H, --header HEADER | En-tête personnalisé (peut être utilisé plusieurs fois) |
-v, --verbose | Sortie verbeuse (afficher les détails pour tous les hôtes) |
-q, --quiet | Mode silencieux (afficher uniquement les hôtes vulnérables) |
--no-color | Désactiver la sortie colorée |
--path PATH | Chemin personnalisé à tester (peut être utilisé plusieurs fois) |
--path-file FILE | Fichier contenant la liste des chemins à tester |
Le scanner utilise une méthode de détection non invasive qui :
Messages d'erreur JavaScript
SyntaxError - Indique un parsing JSON incorrect des données de formulaireUnexpected token - Suggère une désérialisation RSC vulnérableReferenceError / TypeError - Révèle un accès non sécurisé aux propriétés d'objetRéponses d'erreur spécifiques RSC
text/x-componentVary: RSC, Next-Router-State-Tree){"digest":"..."})$@, objets d'erreur)Le scanner détecte à la fois les messages d'erreur détaillés (versions plus anciennes) et les réponses d'erreur RSC structurées (versions plus récentes), assurant une couverture complète sur différentes implémentations de Next.js.
Important : Cette méthode n'exécute AUCUN code sur le système cible. Elle détecte uniquement si le système est vulnérable en observant les réponses d'erreur.
python scanner.py -u https://myapp.com
# Create hosts file with all your domains
python scanner.py -l organization-hosts.txt -t 20 -o scan-results.json
# Create paths.txt with common Next.js endpoints
python scanner.py -l hosts.txt --path-file paths.txt -o results.json
python scanner.py -u https://myapp.com -H "Cookie: session=abc123" -H "Authorization: Bearer token"
Le scanner marquera un hôte comme VULNÉRABLE s'il détecte :
Lorsque le scanner détecte une vulnérabilité, cela signifie :
0 : Aucune vulnérabilité trouvée1 : Une ou plusieurs vulnérabilités détectées