Icône du lab

Race Condition Hunter

Pouvez-vous exploiter la fenêtre de temps avant qu'elle ne se ferme ?

Défi Mis à jour le 22 juin 2026 Solution (Pro)
Race Conditions Timing Attacks Concurrent Exploitation Web Application Security

Cette application financière pense pouvoir traiter en toute sécurité les transactions simultanées avec des vérifications basiques. Mais les chercheurs en sécurité expérimentés savent que le timing est primordial quand il s'agit de conditions de concurrence ! Maîtrisez l'art de l'exploitation concurrente et découvrez comment des millisecondes peuvent faire la différence entre une attaque échouée et un contournement réussi.

1
Flags
50
XP
63%
Taux de Réussite

Les vulnérabilités de type race condition représentent l'une des classes de failles de sécurité les plus subtiles et dangereuses dans les applications web. Ces vulnérabilités surviennent lorsque le résultat d'une opération dépend du timing ou de la séquence d'événements que l'application ne peut pas correctement contrôler. Dans les systèmes concurrents - où plusieurs requêtes ou processus accèdent simultanément à des ressources partagées - les conditions de concurrence peuvent mener à des contournements de sécurité dévastateurs, à la fraude financière et à la corruption de données.

Que sont les conditions de concurrence en sécurité web ?

Une condition de concurrence se produit lorsque deux opérations ou plus doivent s'exécuter dans un ordre spécifique pour produire des résultats corrects, mais l'application ne parvient pas à imposer cet ordonnancement. Dans les applications web, cela se manifeste typiquement lorsque plusieurs requêtes HTTP interagissent avec un état partagé (comme des soldes de comptes, des compteurs d'inventaire ou des jetons d'autorisation) sans synchronisation appropriée. La fenêtre de vulnérabilité peut ne durer que quelques millisecondes, mais des outils automatisés peuvent l'exploiter de manière fiable en envoyant des requêtes concurrentes minutées avec précision.

Scénarios d'attaque courants de conditions de concurrence

Les applications financières sont particulièrement susceptibles aux attaques par condition de concurrence. Un exemple classique est l'attaque de "double dépense" : si un utilisateur envoie deux requêtes de transfert simultanées, les deux pourraient lire le même solde de compte avant que l'une des déductions ne soit appliquée, permettant effectivement à l'attaquant de dépenser les mêmes fonds deux fois. Des modèles similaires apparaissent dans les systèmes de remboursement de coupons, les mécanismes de comptage de votes et toute fonctionnalité qui effectue une séquence vérification-puis-action sur des données partagées. Les plateformes de commerce électronique ont perdu des revenus significatifs à cause d'exploits de conditions de concurrence lors de ventes flash et de promotions à quantité limitée.

Détection et prévention

La détection des conditions de concurrence nécessite des techniques de test spécialisées. Les chercheurs en sécurité utilisent des outils comme le Turbo Intruder de Burp Suite, des scripts Python personnalisés avec threading ou asyncio et des attaques HTTP/2 à paquet unique pour envoyer des requêtes concurrentes avec un timing précis. Du côté défensif, la prévention des conditions de concurrence implique la mise en place de verrouillage au niveau de la base de données, l'utilisation d'opérations atomiques, l'emploi du contrôle de concurrence optimiste avec des champs de version et la conception d'API idempotentes qui produisent le même résultat quel que soit le nombre de fois qu'elles sont appelées.

Ce que vous apprendrez

  • Comprendre comment les conditions de concurrence surviennent à partir de l'accès concurrent aux ressources partagées
  • Apprendre à créer et envoyer des requêtes HTTP concurrentes minutées avec précision
  • Pratiquer l'exploitation des modèles vérification-puis-action dans les applications financières
  • Étudier les mécanismes de synchronisation et pourquoi ils échouent sous charge concurrente
  • Explorer les stratégies défensives incluant le verrouillage de base de données et les opérations atomiques

Prérequis

Understanding of HTTP and web applications Basic knowledge of concurrency concepts Familiarity with tools like Burp Suite or curl

Prêt à hacker ce lab ?

Créez un compte gratuit et pratiquez la cybersécurité.

Commencer - C'est gratuit
Commencez Votre Défi
~1-2 min de configuration
Serveur dédié
Instance privée
Puissance standard
Nouveau ? Voici comment faire
1
Cliquez sur "Start Lab" ci-dessus Vous obtiendrez votre propre machine avec une adresse IP
2
Explorez la cible Ouvrez l'IP dans votre navigateur et cherchez des vulnérabilités
3
Trouvez et soumettez les flags Les flags sont des textes secrets cachés dans le système - collez-les ci-dessous pour marquer des XP

Prêt à hacker ce lab?

Créez un compte gratuit pour démarrer votre propre serveur dédié, soumettre des flags et gagner des XP au classement.

Commencer à Hacker Gratuitement
13 000+ Hackers 100+ Labs & Cours Gratuit
Commencer Gratuitement