WallHack - OWASP

Top 10 OWASP
L'Open Web Application Security Project® (OWASP) est une fondation à but non lucratif qui travaille à améliorer la sécurité des logiciels. Grâce à des projets de logiciels open source dirigés par la communauté, des centaines de chapitres locaux dans le monde, des dizaines de milliers de membres et des conférences éducatives et de formation de premier plan, la Fondation OWASP est la source pour les développeurs et les technologues pour sécuriser le Web.
Qu'est ce que c'est ?

1. Injections

Une attaque par injection est une injection de code malicieux dans un serveur ou dans un service, cela peut faire fuiter tout le contenu d'une base de données ou contourner des mots de passes. (Ex: Injection SQL)

2. Broken Authentication and Session Management

Ce type de failles peut donner le droit à un attaquant d'ignorer ou contourner le système d'authentification. Cela peut faire fuiter des mot de passe.

3. Cross-Site Scripting (XSS)

Le cross-site scripting (abrégé XSS) est un type de faille de sécurité des sites web permettant d'injecter du contenu dans une page, provoquant ainsi des actions sur les navigateurs web visitant la page. Les possibilités des XSS sont très larges puisque l'attaquant peut utiliser tous les langages pris en charge par le navigateur (JavaScript, Java...) et de nouvelles possibilités sont régulièrement découvertes notamment avec l'arrivée de nouvelles technologies comme HTML5. Il est par exemple possible de rediriger vers un autre site pour de l'hameçonnage ou encore de voler la session en récupérant les cookies. Le cross-site scripting est abrégé XSS pour ne pas être confondu avec le CSS (feuilles de style), X se lisant « cross » (croix) en anglais.

4. Broken Access Control

Le contrôle d'accès applique une politique telle que les utilisateurs ne peuvent pas agir en dehors de leurs autorisations prévues. Les défaillances entraînent généralement la divulgation non autorisée d'informations, la modification ou la destruction de toutes les données ou l'exécution d'une fonction commerciale en dehors des limites de l'utilisateur.

5. Security Misconfiguration

Une Security Misconfiguration se définit simplement comme le fait de ne pas mettre en œuvre tous les contrôles de sécurité pour un serveur ou une application web, ou de mettre en œuvre les contrôles de sécurité, mais de le faire avec des erreurs. Ce qu'une entreprise pensait être un environnement sûr présente en réalité des lacunes ou des erreurs dangereuses qui exposent l'organisation à des risques.

6. Sensitive Data Exposure

Sensitive Data Exposure se produit lorsqu'une organisation expose sans le savoir des données sensibles ou lorsqu'un incident de sécurité entraîne la destruction, la perte, l'altération, la divulgation non autorisée ou l'accès non autorisé à des données sensibles, de manière accidentelle ou illégale. Cette exposition des données peut résulter d'une protection inadéquate d'une base de données, d'une mauvaise configuration lors de la création de nouvelles instances de datastores, d'une utilisation inappropriée des systèmes de données, etc.

7. Insufficient Attack Protection

Les applications et les API sont attaquées en permanence. La plupart des applications et des API détectent les entrées non valides, mais les rejettent simplement, laissant l'attaquant attaquer encore et encore. De telles attaques indiquent qu'un utilisateur malveillant ou compromis sonde ou exploite des vulnérabilités. Détecter et bloquer les attaques manuelles et automatisées est l'un des moyens les plus efficaces d'augmenter la sécurité.

8. Cross-Site Request Forgery (CSRF)

En sécurité des systèmes d'information, le cross-site request forgery, abrégé CSRF (parfois prononcé sea-surf en anglais) ou XSRF, est un type de vulnérabilité des services d'authentification web. L’objet de cette attaque est de transmettre à un utilisateur authentifié une requête HTTP falsifiée qui pointe sur une action interne au site, afin qu'il l'exécute sans en avoir conscience et en utilisant ses propres droits. L’utilisateur devient donc complice d’une attaque sans même s'en rendre compte. L'attaque étant actionnée par l'utilisateur, un grand nombre de systèmes d'authentification sont contournés.

9. Using Components with Know Vulnerability

Certains composants vulnérables (par exemple, les bibliothèques de framework) peuvent être identifiés et exploités avec des outils automatisés, élargissant le pool d'agents de menace au-delà des attaquants ciblés pour inclure des acteurs chaotiques. Pratiquement toutes les applications ont ces problèmes car la plupart des équipes de développement ne se concentrent pas sur la mise à jour de leurs composants/bibliothèques. Dans de nombreux cas, les développeurs ne connaissent même pas tous les composants qu'ils utilisent, sans parler de leurs versions. Les dépendances des composants aggravent encore les choses.

10. Underprotected APIs

Les applications modernes utilisent des API provenant de nombreuses sources, soit directement, soit en tant que sous-composants de bibliothèques tierces liées lors de la création d'une application. Toutes ces API peuvent présenter des vulnérabilités non protégées et, plus inquiétant encore, elles peuvent être opaques aux outils d'analyse de sécurité standard utilisés pour mettre les risques en évidence.