Durée: 12 mois
Rubrique: Architecte cybersécurité
Leçon 3 : Vulnérabilités courantes et leurs solutions
Diverses vulnérabilités peuvent compromettre la sécurité des applications web. Cette leçon se concentre sur ces vulnérabilités courantes et propose des solutions pour les gérer au mieux.
La Injection SQL, qui est une attaque consistant à insérer du code SQL malveillant dans une requête, est une vulnérabilité courante. Elle peut être détectée en observant les erreurs d'exécution SQL, les messages du serveur de base de données ou les comportements inattendus de l'application. Pour prévenir les injections SQL, il convient d'utiliser des requêtes préparées ou paramétrées, de limiter les privilèges de la base de données et de toujours échapper les entrées utilisateur.
Le CrossSite Scripting (XSS) est une autre vulnérabilité courante, où un attaquant injecte un script malveillant dans une page web, qui s'exécute lorsque l'utilisateur la visite. Les types courants de XSS comprennent les XSS stockés, les XSS reflétés et les XSS basés sur le DOM. Pour prévenir le XSS, il faut utiliser des sorties de texte sûr, échapper les entrées utilisateur et utiliser des entêtes de réponse HTTP stricts.
Le CrossSite Request Forgery (CSRF) est une attaque où un utilisateur est trompé pour exécuter une action non désirée sur un site web où il est authentifié. Pour se protéger contre le CSRF, il faut utiliser des tokens antiCSRF, vérifier le Référent HTTP et utiliser la politique de sécurité du contenu (CSP).
Enfin, les Failles d'authentification sont des vulnérabilités qui permettent à un attaquant de contourner ou de tromper les mécanismes d'authentification. Pour renforcer les mécanismes d'authentification, il faut utiliser des mots de passe forts, implémenter un verrouillage de comptes, une authentification à deux facteurs et un HTTPS.