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é.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
waf-dojo — Jeu d'entraînement pratique AWS WAF avec tutoriels, laboratoires notés et examens où les joueurs rédigent des règles Web ACL pour bloquer de vraies formes d'attaque tout en évitant les faux positifs. | Kitploit
Outils/GitHubGitHub/nishikawaakira/waf-dojo
Outils DéfensifsAnalyse des VulnérabilitésExploitation d'Applications WebContournement de WAFSécurité WebCTFSécurité CloudApprentissage et ÉducationParcours et CoursLabs et Pratique
GitHubnishikawaakira/waf-dojo
1844il y a 1 jourPas 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 →

waf-dojo

Jeu d'entraînement pratique AWS WAF avec tutoriels, laboratoires notés et examens où les joueurs rédigent des règles Web ACL pour bloquer de vraies formes d'attaque tout en évitant les faux positifs.

Voir le dépôt
Partager

WAF Dojo

Un jeu d'entraînement pratique pour apprendre AWS WAF en défendant contre de véritables attaques.

English | 日本語

Pour les administrateurs : la procédure de création de l'environnement, de distribution aux participants, d'exécution et de nettoyage est décrite dans le Guide d'administration (docs/ADMIN.md), et le document remis aux participants est Premiers pas pour les joueurs (docs/PLAYER_GUIDE.md). Les deux guides sont actuellement en japonais.

Un environnement pratique pour apprendre AWS WAF en pleine attaque.

  1. Tutoriels : L'écran montre à quoi ressemble l'attaque entrante (exemples de requêtes) et des instructions de configuration étape par étape. Vous configurez votre Web ACL en suivant les indications.
  2. Mode jeu : Débloqué une fois les tutoriels terminés. Seul un aperçu de l'attaque est fourni, et vous concevez vous-même les règles pour l'arrêter.
  3. Score : Vous êtes évalué sur le nombre d'attaques bloquées et le nombre d'utilisateurs légitimes bloqués par erreur, et les résultats sont publiés sur un classement.

Jouez en solo ou affrontez d'autres joueurs.

Démo

Démonstration de WAF Dojo

Le déroulé, depuis la lecture de l'attaque et des étapes d'un tutoriel, jusqu'à la conception d'une règle dans un laboratoire de vulnérabilités, le lancement de l'attaque, la consultation du score et de la réponse modèle, et enfin l'ouverture d'un concours depuis la page d'administration (environ 70 secondes). Une version de meilleure qualité est disponible à l'adresse docs/demo-en.mp4.

Enregistré en mode développement (make dev), qui calcule le score avec la réponse modèle au lieu d'un véritable AWS WAF.

Architecture

                    ┌───────────────────── per player ──────────────────┐
Browser ── Lambda Function URL (gameapi: UI + API)                      │
                │  async invoke                                          │
                ▼                                                        │
          Lambda (trafficgen) ── HTTPS ─▶ ALB ◀── Web ACL (edited by the player)
                │                          │                             │
                │                          ▼                             │
                │                  Lambda (targetapp: dummy online shop) │
                ▼                   └────────────────────────────────────┘
            DynamoDB (runs, best scores, locks)
  • targetapp : une application factice qui renvoie 200 à chaque requête, donc tout 4xx signifie que le WAF l'a bloquée.
  • trafficgen : envoie un mélange de requêtes d'attaque et de requêtes d'utilisateurs ordinaires selon le scénario, puis évalue le résultat. Il n'envoie qu'à l'ALB du joueur lui-même, tel que configuré par Terraform. Il utilise uTLS pour fabriquer différents ClientHellos TLS pour les navigateurs (Chrome / Firefox / Safari) et les outils d'attaque, afin que vous puissiez vous entraîner à les distinguer par empreinte JA4.
  • gameapi : l'interface et l'API du jeu, servies depuis une Lambda Function URL.
  • Un ALB ne peut avoir qu'un seul Web ACL, donc chaque joueur dispose de son propre ALB et de son propre Web ACL.
  • Pour expérimenter la limite d'inspection du corps de CloudFront (16 Ko par défaut, jusqu'à 64 Ko), chaque joueur dispose également d'une distribution CloudFront et d'un Web ACL de portée CloudFront (wafdojo-<name>-cf, us-east-1). CloudFront se place directement devant la Lambda Function URL de l'application factice plutôt que devant l'ALB, donc les règles du Web ACL de l'ALB ne s'y appliquent pas. Définissez enable_cloudfront = false pour l'ignorer.
  • JA4 n'est calculé que sur HTTPS, donc l'ALB écoute sur HTTPS (443). Pour fonctionner sans domaine, un certificat auto-signé est généré et importé dans ACM (sa clé privée se retrouve dans l'état Terraform).
  • Les IP sources sont représentées par des adresses de documentation (RFC 5737) dans X-Forwarded-For (on suppose que le site se trouve derrière un CDN).

Scénarios

Tutoriels (avec étapes ; terminez-les tous pour débloquer le jeu)

IDSujetCe que vous apprenez
tutorial-1-sqliInjection SQLGroupes de règles managées
tutorial-2-xssXSS dans le formulaire d'avisRègles personnalisées (Rule builder), inspection du corps, transformations de texte
tutorial-3-ipsetIP figurant sur une liste de menacesEnsembles d'IP, CIDR, X-Forwarded-For
tutorial-4-useragentScanners de vulnérabilitésCorrespondance de chaînes sur les en-têtes, instructions OR, transformation en minuscules
tutorial-5-ratelimitRafales depuis une seule IPRègles basées sur le débit, clés d'agrégation
tutorial-6-ja4Un scraper se faisant passer pour un navigateurComment fonctionnent les empreintes JA4 et comment les lire (a_b_c), correspondance JA4 exacte, analyse des journaux WAF

Mode jeu (sans étapes ; compétences appliquées)

IDSujetCe que vous apprenez
game-1-fakebotUn scraper se faisant passer pour GooglebotCombiner AND / NOT (l'UA indique Googlebot ET l'IP n'est pas celle de Google)
game-2-adminAccès externe au panneau d'administrationConditions sur le chemin URI + liste d'IP autorisées, sensibilité à la casse
game-3-traversalPath traversalEmpiler les transformations de texte (double décodage), éviter les faux positifs
game-4-cmsUne règle XSS qui bloque vos éditeursCréer des exceptions, priorité des règles, revoir les règles existantes
game-5-bruteforceForce brute sur la connexion + NAT d'entrepriseInstructions de portée (scope-down), conception des seuils
game-6-ja4regexUne armée de bots qui modifie sans cesse son JA4 + un partenaire utilisant la même bibliothèqueExpressions régulières JA4 (cibler la partie b commune), se préparer aux variantes inédites, exceptions avec AND NOT

Les règles que vous avez créées dans les tutoriels restent en place, donc en mode jeu elles provoquent parfois des faux positifs (étapes 4 et 5). Vous devez revoir les règles existantes, pas seulement arrêter de nouvelles attaques.

Labs de vulnérabilités (41 défis, sans étapes)

Chaque défi se lit ainsi : « Une nouvelle vulnérabilité est sortie. Elle peut être bloquée sous ces conditions. Écrivez la règle. » L'objectif est de pouvoir écrire vos propres règles dès qu'une nouvelle vulnérabilité apparaît. Après une tentative, vous pouvez voir le JSON de la règle de correction (prêt à coller dans l'éditeur Rule JSON de la console) et une explication. De nombreux défis de niveau 2 et 3 incluent également une règle « piège courant » et la raison de son échec.

Télécharger l’outil