Authentification et sécurité web : le cours pratique OWASP

Authentification et sécurité web (OWASP) est un cours de niveau avancé de 5 leçons (environ 3 h 24), avec 15 exercices et 15 questions de quiz. Prérequis : HTTP et API REST. Le cours demande un environnement de projet complet, prévu dans une phase ultérieure de la plateforme.

  • Back-end
  • Avancé
  • 5 leçons
  • 3 h 24
  • 15 exercices
  • Environnement de projet complet (phase 2)

Le cours en bref

Ce cours avancé vous apprend à reconnaître et corriger les vulnérabilités les plus critiques des applications web, en vous appuyant sur l'OWASP Top 10 2025. Vous écrirez du code Node.js exécutable : requêtes paramétrées, échappement HTML, hachage scrypt, jetons signés, cookies sécurisés, contrôle d'accès et en-têtes HTTP. Le projet final consiste à auditer et durcir une API d'authentification complète.

Ce que tu sauras faire

  • Expliquer les catégories de l'OWASP Top 10 2025 et les relier à du code concret
  • Prévenir les injections SQL et de commande avec des requêtes paramétrées et des listes blanches
  • Neutraliser le XSS par l'échappement contextuel, la validation d'URL et une CSP
  • Stocker et vérifier des mots de passe avec scrypt, un sel et une comparaison en temps constant
  • Gérer sessions, jetons signés et cookies sécurisés, et se protéger du CSRF
  • Mettre en place un contrôle d'accès côté serveur, des en-têtes de sécurité et une gestion d'erreurs sobre

Programme des 5 leçons

    • Situer les grandes familles de risques de l'OWASP Top 10 2025
    • Expliquer le mécanisme d'une injection SQL
    • Écrire des requêtes paramétrées et des listes blanches pour les identifiants

    OWASP Top 10Injection SQLRequêtes paramétrées

  1. 02

    XSS : échapper le HTML et poser une CSP

    15 min
    • Distinguer XSS stocké, réfléchi et basé sur le DOM
    • Échapper correctement des données insérées dans du HTML
    • Limiter l'impact d'un XSS avec une Content-Security-Policy et la validation des URL

    Cross-Site ScriptingÉchappement HTMLContent-Security-Policy

  2. 03

    Stocker les mots de passe : hachage avec scrypt

    18 min
    • Expliquer pourquoi on hache (et ne chiffre pas) un mot de passe
    • Hacher et vérifier un mot de passe avec crypto.scrypt et un sel aléatoire
    • Comparer des secrets en temps constant et freiner la force brute

    Hachage de mots de passeSel cryptographiqueAuthentification

  3. 04

    Sessions, jetons signés et cookies sécurisés

    18 min
    • Générer des identifiants de session imprévisibles
    • Signer et vérifier un jeton avec HMAC (principe des JWT HS256)
    • Configurer des cookies HttpOnly, Secure, SameSite et se protéger du CSRF

    SessionsJetons signés (JWT)Cookies sécurisésCSRF

  4. 05

    Contrôle d'accès, en-têtes de sécurité et gestion des erreurs

    18 min
    • Appliquer un contrôle d'accès côté serveur (rôle et propriété de la ressource)
    • Poser les en-têtes HTTP de sécurité essentiels
    • Gérer les erreurs sans divulguer d'informations et journaliser les événements de sécurité

    Contrôle d'accèsEn-têtes de sécuritéGestion des erreursJournalisation

Projet final

Auditer et durcir une API d'authentification

On vous confie une petite API Express (inscription, connexion, espace « mes commandes ») volontairement vulnérable : requêtes SQL concaténées, mots de passe en SHA-256, jeton dans localStorage, route de commande sans contrôle de propriété, erreurs renvoyant la pile. Identifiez chaque faille, rattachez-la à une catégorie de l'OWASP Top 10 2025, corrigez-la et prouvez la correction par des tests.

Livrables

  • Un rapport d'audit listant chaque vulnérabilité, sa catégorie OWASP, son impact et sa correction
  • Le code corrigé : requêtes paramétrées, hachage scrypt, cookie de session sécurisé, middleware d'autorisation, en-têtes et gestionnaire d'erreurs
  • Une suite de tests node:test prouvant que les attaques décrites échouent (injection, IDOR, jeton falsifié, XSS)
  • Un court guide de déploiement sécurisé (variables d'environnement, HTTPS, rotation des secrets)

Critères d'évaluation

  • Toutes les vulnérabilités introduites sont identifiées et correctement classées
  • Les corrections suivent les bonnes pratiques vues dans le cours et ne cassent pas les fonctionnalités
  • Les tests couvrent les cas d'attaque et passent
  • Aucun secret ni donnée sensible n'apparaît dans le code, les journaux ou les réponses d'erreur
  • Le rapport est clair et compréhensible par une personne non spécialiste

Questions fréquentes

Quel niveau faut-il pour suivre ce cours de sécurité web ?

Il faut savoir écrire une API HTTP simple (cours B1) et lire du JavaScript. Le cours est de niveau avancé mais chaque vulnérabilité est expliquée à partir d'un exemple concret.

Le cours couvre-t-il l'OWASP Top 10 2025 ?

Oui. Il présente les dix catégories de l'édition 2025 et approfondit celles qui touchent le plus le code d'un développeur : contrôle d'accès, configuration, cryptographie, injection, authentification, journalisation et gestion des erreurs.

Faut-il installer des outils pour faire les exercices ?

Non. Les exercices s'exécutent dans la plateforme avec Node.js et ses modules natifs, comme node:crypto. Les exemples montrent aussi le code Express et les bibliothèques utilisées en production.

Quelle méthode utiliser pour stocker des mots de passe ?

Une fonction de hachage lente et salée comme Argon2id, scrypt ou bcrypt, avec une comparaison en temps constant. Le cours vous fait implémenter la version scrypt disponible dans Node.js.

Ce cours, raconté pour ton métier

Dis ce que tu veux savoir faire : « Authentification et sécurité web (OWASP) » prend sa place dans ton parcours, avec des exemples de ton secteur. Les notions restent celles du cours.

L'aperçu est gratuit, et les cours se suivent un par un sans payer. Le parcours ne contient que des leçons du catalogue.