
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-t) pour ne pas submerger les ciblesSi votre application s'avère vulnérable :
Actions immédiates :
Sécurité à long terme :
Références :
Cet outil est destiné uniquement aux tests de sécurité autorisés. L'accès non autorisé aux systèmes informatiques est illégal. Les auteurs ne sont pas responsables de l'utilisation abusive ou des dommages causés par ce programme.