Icône du lab

Get the Password

Défi Mis à jour le 21 juin 2026 Solution (Pro)
JavaScript MD5 Rainbow Tables Web Development Browser DevTools

Démarrez la machine, hackez le système et trouvez les flags cachés pour compléter ce défi et gagner des XP!

1
Flags
50
XP
80%
Taux de Réussite

La validation de mot de passe côté client est l'une des erreurs de sécurité les plus courantes dans le développement web. Lorsque les développeurs implémentent des vérifications de mot de passe directement en JavaScript dans le navigateur de l'utilisateur, la logique de validation - et souvent le mot de passe lui-même - devient entièrement visible à quiconque inspecte le code source de la page. Comprendre cette vulnérabilité est fondamental pour la sécurité des applications web.

Comment fonctionne la validation côté client

Les applications web valident les entrées utilisateur soit côté client (dans le navigateur) soit côté serveur (sur le serveur web). La validation côté client utilise JavaScript pour vérifier les données de formulaire avant qu'elles ne soient envoyées au serveur. Bien que cette approche offre une expérience utilisateur réactive, elle ne devrait jamais être la seule couche de sécurité. Tout code s'exécutant dans le navigateur peut être lu, modifié ou contourné par l'utilisateur.

Pourquoi les vérifications de mot de passe côté client sont dangereuses

Lorsqu'un mot de passe est validé entièrement en JavaScript, la logique de comparaison doit être présente dans le navigateur. Cela signifie que le mot de passe attendu - ou un hash de celui-ci - est intégré quelque part dans le code source de la page, les scripts ou les requêtes réseau. Les attaquants peuvent utiliser les outils de développement du navigateur pour lire le code source JavaScript, placer des points d'arrêt et parcourir pas à pas les fonctions de validation pour extraire les identifiants. Même le code obscurci ne fait que ralentir un attaquant plutôt que de l'arrêter.

Schémas courants dans la réalité

Cette vulnérabilité de validation de mot de passe côté client apparaît fréquemment dans les applications web anciennes, les outils internes d'entreprise, les panneaux de gestion d'appareils IoT et les prototypes rapides qui n'ont jamais été correctement sécurisés avant le déploiement. Les auditeurs de sécurité découvrent régulièrement des identifiants codés en dur dans les fichiers JavaScript lors des tests d'intrusion. Dans certains cas, les mots de passe sont stockés comme des chaînes en clair ; dans d'autres, des algorithmes de hachage faibles comme MD5 sont utilisés, qui peuvent être inversés en utilisant des tables arc-en-ciel ou des services de recherche en ligne.

Défense et meilleures pratiques

Les applications sécurisées effectuent toujours l'authentification côté serveur. Les mots de passe doivent être transmis via HTTPS vers un backend qui les compare à des valeurs hashées de manière sécurisée en utilisant des algorithmes comme bcrypt ou Argon2. Les vérifications côté client peuvent compléter l'expérience utilisateur mais ne doivent jamais remplacer la validation côté serveur. Comprendre comment identifier et exploiter les faiblesses de validation côté client est une compétence essentielle pour tout aspirant testeur d'intrusion ou chercheur en sécurité.

Ce que vous apprendrez

  • Comment fonctionne la validation JavaScript côté client et pourquoi elle est non sécurisée
  • Utilisation des outils de développement du navigateur pour inspecter et déboguer le code JavaScript
  • Identification d'identifiants codés en dur dans le code source des applications web
  • Compréhension des faiblesses du hachage MD5 et des attaques par tables arc-en-ciel
  • Reconnaissance de la différence entre les contrôles de sécurité côté client et côté serveur

Prérequis

Basic HTML and JavaScript Browser developer tools Understanding of web forms

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