Le Clickjacking, également appelé correction de l'interface utilisateur, est une technique utilisée par les attaquants pour tromper les utilisateurs et les amener à cliquer sur des éléments malveillants cachés sous l'apparence de boutons ou de liens légitimes. Cette technique peut être utilisée pour voler des informations sensibles ou effectuer des actions non autorisées sur des sites Web. Les techniques de prévention incluent l'utilisation de l'en-tête X-Frame-Options et la désactivation de JavaScript.
La contrebande de requête HTTP est une attaque d'application Web qui exploite les différences dans l'analyse des requêtes HTTP par les serveurs frontal et arrière pour faire passer des requêtes malveillantes qui contournent les mesures de sécurité. Cette vulnérabilité peut permettre à un attaquant de contourner l'authentification, de réaliser des attaques de cross-site scripting, de voler des données sensibles et de lancer d'autres types d'attaques.
L'injection SQL est une vulnérabilité de sécurité dans laquelle un attaquant injecte du code SQL malveillant dans les champs de saisie d'une application web, ce qui leur permet d'accéder et de manipuler la base de données de l'application. Cela peut entraîner un accès non autorisé, une perte ou une corruption de données et d'autres violations de sécurité. La prévention de l'injection SQL nécessite une validation appropriée des entrées et des requêtes paramétrées pour s'assurer que les entrées utilisateur sont correctement nettoyées avant d'être utilisées dans des instructions SQL.
Les injections de logs sont une technique d'attaque qui consiste à injecter du code malveillant dans les fichiers journaux de l'application pour compromettre le système ou accéder à des informations sensibles.
OAuth 2.0 est un protocole d'autorisation utilisé par de nombreux sites web et applications pour permettre aux utilisateurs de se connecter à l'aide de références tierces. Cependant, les implémentations d'OAuth 2.0 peuvent présenter des vulnérabilités qui permettent aux attaquants de prendre le contrôle de comptes d'utilisateurs ou de voler des informations sensibles. Les vulnérabilités courantes comprennent les URL de redirection non sécurisées, le manque de validation de jetons et les contrôles de consentement utilisateur insuffisants.
Les attaques XSS (Cross-Site Scripting) sont une méthode d'exploitation de failles de sécurité sur les sites web. Elles consistent à injecter du code malveillant dans des pages web pour accéder à des informations confidentielles, voler des données utilisateur ou prendre le contrôle de l'ordinateur de la victime. Les attaques XSS peuvent prendre plusieurs formes, notamment le vol de sessions, le phishing, l'installation de logiciels malveillants ou encore la rediriger l'utilisateur vers un site frauduleux. Les conséquences peuvent être graves pour les individus et les entreprises.
L'injection d'entités externes XML (XXE) est une vulnérabilité de sécurité qui permet aux attaquants d'exploiter les analyseurs XML pour divulguer des données sensibles, exécuter du code à distance ou lancer des attaques de déni de service (DoS). Les attaquants peuvent exploiter les vulnérabilités XXE en injectant des entités XML malveillantes dans un document XML traité par une application. Lorsque l'application analyse le document, elle peut divulguer des informations sensibles ou exécuter le code de l'attaquant, ce qui peut entraîner des conséquences graves telles que des violations de données ou la compromission du système. La prévention de l'injection XXE nécessite une validation et une désinfection appropriées des entrées, une configuration sécurisée des analyseurs XML et la restriction de l'accès aux ressources sensibles. Les développeurs Web peuvent également utiliser des outils tels que OWASP ZAP ou Burp Suite pour détecter et prévenir les vulnérabilités XXE.
Les vulnérabilités DOM-based sont un type de vulnérabilité de sécurité qui peut être exploité dans les applications Web qui utilisent JavaScript et manipulent le modèle d'objet de document (DOM). Les attaquants peuvent exploiter ces vulnérabilités en injectant du code malveillant dans le DOM, provoquant l'exécution d'actions non intentionnelles ou la divulgation de données sensibles par l'application. Les vulnérabilités DOM-based peuvent être causées par une validation d'entrée insuffisante, une utilisation non sécurisée du stockage côté client ou un code JavaScript défectueux. Pour éviter les vulnérabilités DOM-based, il est nécessaire d'effectuer une validation et une désinfection d'entrée adéquates, d'utiliser le stockage côté client de manière sécurisée et de mettre en œuvre des pratiques de codage sécurisées. Les développeurs peuvent également utiliser des outils tels que des linters, des validateurs et des scanners de sécurité pour détecter et prévenir les vulnérabilités DOM-based.
L'insecure deserialization est une vulnérabilité de sécurité qui se produit lorsqu'une donnée non fiable est transmise à un processus de désérialisation sans validation ou sanitisation adéquates. La désérialisation est le processus de conversion de données sérialisées en un objet utilisable dans un langage de programmation. Les attaquants peuvent exploiter les vulnérabilités d'insecure deserialization pour exécuter du code arbitraire, voler des données sensibles ou lancer des attaques de type Denial of Service (DoS). Les vulnérabilités d'insecure deserialization peuvent être causées par une validation insuffisante des entrées, des formats de sérialisation non sécurisés ou des processus de désérialisation défectueux. Pour prévenir l'insecure deserialization, il est nécessaire d'effectuer une validation adéquate des entrées, d'utiliser des formats de sérialisation sécurisés et des processus de désérialisation sécurisés. Les développeurs peuvent également utiliser des outils tels que des bibliothèques de sérialisation et des scanners de sécurité automatisés pour détecter et prévenir les vulnérabilités d'insecure deserialization.
L'empoisonnement du cache Web est un type d'attaque qui permet aux attaquants de manipuler le cache d'un serveur web pour diffuser du contenu malveillant aux utilisateurs. Les attaquants peuvent exploiter des vulnérabilités dans les applications web ou les serveurs web pour injecter du contenu malveillant dans le cache. Lorsque les utilisateurs demandent le contenu affecté, ils reçoivent le contenu malveillant du cache plutôt que le contenu légitime du serveur. Les attaques d'empoisonnement de cache Web peuvent entraîner un large éventail de conséquences, notamment le vol de données, l'accès non autorisé et l'infection par des logiciels malveillants. La prévention de l'empoisonnement du cache Web nécessite une validation et une désinfection appropriées des entrées, une configuration sécurisée des serveurs web et des applications web, ainsi que des évaluations régulières de la sécurité pour détecter et atténuer les vulnérabilités.
Le partage de ressources entre origines multiples (CORS - Cross-Origin Resource Sharing) est une fonctionnalité de sécurité implémentée par les navigateurs web qui permet aux applications web s'exécutant sur un domaine d'accéder à des ressources provenant d'un autre domaine. CORS est appliqué par les navigateurs pour empêcher l'accès non autorisé à des données et des ressources sensibles. Les développeurs web peuvent configurer des politiques CORS sur leurs serveurs pour spécifier les domaines autorisés à accéder à leurs ressources. Les politiques CORS peuvent être configurées pour autoriser tous les domaines ou des domaines spécifiques à accéder aux ressources. Des configurations CORS inappropriées peuvent entraîner des vulnérabilités de sécurité telles que le cross-site scripting (XSS) et la falsification de requête entre sites (CSRF).
Cette section se penche sur l'impact des problèmes de conception et d'une gestion insuffisante des JSON Web Tokens (JWT) sur la sécurité des sites web. En examinant des scénarios spécifiques, nous explorerons comment ces facteurs peuvent conduire à des vulnérabilités graves et à des attaques potentielles.
Les vulnérabilités de téléchargement de fichiers font référence aux failles de sécurité qui permettent aux attaquants de télécharger des fichiers malveillants sur un serveur web. Les attaquants peuvent exploiter ces vulnérabilités pour exécuter un code arbitraire, voler des données sensibles ou obtenir un accès non autorisé à un système. Les vulnérabilités de téléchargement de fichiers peuvent être causées par une validation et une désinfection d'entrée insuffisantes, ainsi que par des vérifications incorrectes de type et de taille de fichier. Pour prévenir les vulnérabilités de téléchargement de fichiers, une validation appropriée des entrées, des vérifications de type et de taille de fichier, ainsi que des mesures de sécurité côté serveur telles que les autorisations de fichier et les contrôles d'accès sont nécessaires. Les développeurs web peuvent également utiliser des pare-feux d'applications web et d'autres outils de sécurité pour détecter et bloquer les téléchargements de fichiers malveillants.
La SSTI (injection de modèle côté serveur) est une vulnérabilité qui permet à un attaquant d'exécuter du code malveillant sur un serveur en injectant du code dans un modèle côté serveur. Elle est souvent causée par une validation insuffisante des entrées dans les applications Web qui utilisent des modèles côté serveur tels que Flask ou Jinja2. La SSTI peut entraîner de graves conséquences telles que des violations de données, une compromission du serveur et un accès non autorisé. Pour prévenir la SSTI, il est nécessaire d'effectuer une validation appropriée des entrées et de la désinfection des entrées utilisateur.
Les attaques de type Server-Side Request Forgery (SSRF) consistent à tromper une application Web afin qu'elle envoie des requêtes à des serveurs internes ou externes non prévus. Les attaquants peuvent exploiter les vulnérabilités SSRF pour accéder à des données sensibles, exécuter du code arbitraire ou lancer des attaques contre d'autres systèmes. Les attaques SSRF sont souvent causées par une validation insuffisante des entrées et peuvent être évitées en utilisant une validation d'entrée basée sur une liste blanche et en restreignant l'accès aux ressources sensibles. La détection des attaques SSRF peut être difficile et nécessite une surveillance et un enregistrement du trafic réseau.