Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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-2025-29927 — Voici un scanner pour la CVE-2025-29927. | Kitploit
Outils/GitHubGitHub/houmanpashaei/cve-2025-29927
ReconnaissanceScanners de VulnérabilitésExploitation d'Applications WebSécurité WebTests d'IntrusionCrawler
GitHubhoumanpashaei/cve-2025-29927

CVE-2025-29927

Voici un scanner pour la CVE-2025-29927.

Voir le dépôt
516il 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

Scanner de vulnérabilités avancé CVE-2025-29927

Ceci est un scanner de qualité professionnelle conçu pour détecter la vulnérabilité de contournement de middleware CVE-2025-29927 dans les applications Next.js.

🧠 Fonctionnalités

  • Utilise un vrai navigateur headless (Playwright) pour explorer profondément un site cible (contenu rendu par JS inclus)
  • Teste les chemins internes avec des en-têtes X-Middleware-Subrequest fabriqués pour contourner le middleware Next.js
  • Compare le statut HTTP et la longueur de la réponse pour identifier les contournements
  • Entièrement multithreadé pour des performances élevées

🚀 Démarrage rapide

Installation (localement)```bash

pip install -r requirements.txt playwright install

### Exécuter le scanner```bash
python main.py --domain https://example.com --threads 10 --timeout 10 --save

Toutes les options CLI```bash

python main.py --help

| Option         | Description                                |
|----------------|--------------------------------------------|
| `--domain`     | URL de base du site cible (obligatoire)    |
| `--user-agent` | User-agent personnalisé (par défaut : chaîne Chrome) |
| `--timeout`    | Délai d'expiration de la requête (par défaut : 10 secondes) |
| `--proxy`      | Adresse du proxy (optionnel)               |
| `--save`       | Sauvegarder les résultats dans `results.txt` |
| `--threads`    | Nombre de threads (par défaut : 10)        |
| `--wordlist`   | Worlist inclut Common Path                 |

---

## 🐳 Utilisation avec Docker

### Construire l'image Docker```bash
docker build -t cve-scanner .

Exécuter le scanner```bash

docker run -it --rm cve-scanner --domain https://example.com --save

---

## ⚙️ GitHub Actions

Ce projet inclut un workflow GitHub Actions pour tester la configuration lors d'un push. Il :
- Installe les dépendances
- Installe les navigateurs Playwright
- Exécute une vérification `--help`

Voir `.github/workflows/python.yml`.

---

## 🧱 Structure```
.
├── main.py              # Entry point
├── config.py            # CLI parser
├── crawler.py           # Playwright crawler
├── scanner.py           # Multi-threaded vulnerability testing
├── requirements.txt
├── Dockerfile
└── .github/workflows

🧠 Plus de Détails

🧠 Conception Avancée du Scanner de Vulnérabilité CVE-2025-29927

Aperçu de la Vulnérabilité CVE-2025-29927

CVE-2025-29927 est une faille de sécurité critique dans Next.js qui permet aux attaquants de contourner l'authentification et l'autorisation basées sur les middleware. En incluant un en-tête interne spécial (X-Middleware-Subrequest) dans les requêtes HTTP, un attaquant peut tromper le serveur Next.js en lui faisant sauter l'exécution du middleware, accédant ainsi à des routes protégées​. En pratique, une requête qui serait normalement bloquée par le middleware d'authentification (par exemple en renvoyant un 401/403 ou en redirigeant vers la page de connexion) est traitée normalement si cet en-tête est présent, contournant ainsi les contrôles de sécurité. Cette vulnérabilité affecte les versions de Next.js 11.1.4 à 15.2.2, et les administrateurs sont invités à appliquer un correctif ou à mettre en œuvre des mesures d'atténuation (comme la suppression de cet en-tête au niveau des proxys) pour protéger leurs applications​.

Contournement du middleware Next.js en incluant l'en-tête spécial X-Middleware-Subrequest, permettant un accès direct à une ressource protégée (exploit CVE-2025-29927)

Détecter cette vulnérabilité dans une application web nécessite de découvrir les points de terminaison internes et de les tester avec l'en-tête malveillant pour voir si un accès non autorisé est possible. Vous trouverez ci-dessous un plan de conception pour un script Python avancé qui explore un site web cible (avec prise en charge complète de JavaScript) et recherche la CVE-2025-29927, répondant à toutes les exigences spécifiées.

🚀 Outils et Bibliothèques pour l'Exploration Dynamique et l'Analyse

Pour répondre à l'exigence d'une exploration approfondie incluant le contenu rendu par JavaScript, nous utiliserons Playwright (préféré à Selenium pour sa rapidité et son API moderne). Playwright est une puissante bibliothèque d'automatisation de navigateur sans tête qui peut gérer les applications web dynamiques et les frameworks JS modernes. Comparé à Selenium, Playwright offre une API plus moderne (basée sur le protocole Chrome DevTools) et prend en charge le fonctionnement synchrone et asynchrone, ce qui peut offrir de meilleures performances pour notre cas d'utilisation​. Les bibliothèques clés et leurs instructions d'installation incluent :

  • playwright – pour l'automatisation du navigateur sans tête (pour charger les applications monopages ou les pages nécessitant JavaScript). (Installation : pip install playwright puis exécutez playwright install pour obtenir les binaires du navigateur).

  • requests ou httpx – pour envoyer des requêtes HTTP pendant la phase d'analyse. Nous pouvons utiliser requests pour la simplicité ou httpx/aiohttp pour le support asynchrone. (Installation : pip install requests ou pip install httpx).

  • bs4 (BeautifulSoup) – pour analyser le HTML et extraire les liens si nécessaire. Playwright peut interroger directement le DOM, mais utiliser BeautifulSoup sur le contenu HTML de la page est simple pour trouver les balises d'ancrage. (Installation : pip install beautifulsoup4).

  • concurrent.futures (intégré) ou asyncio – pour implémenter la concurrence. Pour le multithreading, le concurrent.futures.ThreadPoolExecutor de Python sera utilisé (aucune installation supplémentaire). Si une approche asynchrone est utilisée, le module asyncio de Python avec httpx peut être utilisé pour les requêtes parallèles.

  • (Facultatif) argparse – pour analyser les arguments de ligne de commande si nous voulons une interface CLI au lieu d'un menu interactif. (module intégré)

  • (Facultatif) rich ou colorama – pour une sortie console colorée ou formatée afin d'améliorer la lisibilité. (Installation : pip install rich ou pip install colorama).

Justification : Playwright est choisi pour sa capacité à extraire du contenu dynamique sans complexité lourde. « À l'aide de Playwright, nous pouvons automatiser les navigateurs sans tête… pour naviguer sur le Web comme un humain, ce qui le rend idéal pour extraire des sites web dynamiques alimentés par JavaScript »​. Cela garantit que notre explorateur peut voir les liens ou les éléments d'interface générés par les scripts (qu'un explorateur basé uniquement sur les requêtes manquerait).

🚀 Exploration avec Prise en Charge JavaScript (Découverte Dynamique de Chemins)

Le module d'exploration utilisera Playwright en mode sans tête pour effectuer une exploration approfondie du site cible. L'objectif est de découvrir les chemins internes (points de terminaison) à tester, y compris ceux qui ne sont révélés qu'après l'exécution de JavaScript. Points clés de conception pour l'explorateur :

Navigation par Navigateur Sans Tête : Lancez une instance de navigateur (par exemple Chromium) en mode sans tête via Playwright. Utilisez un Browser Context avec un User-Agent personnalisé si spécifié par l'utilisateur (plus de détails dans la section suivante). Par exemple, nous pouvons créer un contexte avec browser.new_context(user_agent=<user_agent_string>)​ pour émuler le User-Agent choisi. Si un proxy est configuré, appliquez-le au lancement (Playwright permet de définir un serveur proxy lors du lancement du navigateur ou du contexte​).

Télécharger l’outil