OWASP, un groupe de recherche, a publié son top dix failles web les plus courantes sur les applications Web.


OWASP est une communauté travaillant sur la sécurité des applications Web. Son objectif est de produire des outils et documents dédiés à la sécurité des applications Web ainsi que de sensibiliser les administrateurs, les entreprises et les utilisateurs autour de la sécurité sur le WEB.

OWASP à établi un rapport de risque (en prenant en compte la détection, l’exploitation et l’impact de chaque faille) et présente rapidement un moyen de détection et de prévention.

Voici donc le top 10 faille de sécurité en 2013:

  • L’injection: la faille la plus connue est l’injection SQL, mais elle peut concerner d’autres langages. C’est une faille très connue mais c’est également la plus dangereuse !
  • Broken Authentication and Session Management : gestion de l’authentification et de la session. C’est-à-dire voler une session en récupérant un cookie ou un mot de passe avec une attaque de type man in the middle (MITM).
  • Cross-Site Scripting: le fameux XSS ! Il est classé troisième à cause de sa fréquence et sa facilité de mise en œuvre.
  • Insecure Direct Object References : En changeant la valeur d’une variable sur une requête http, il est possible de consulter toutes les données si aucun contrôle d’accès à la donnée n’est effectué.

[php]String query = "SELECT * FROM accts WHERE account = ?";
PreparedStatement pstmt = connection.prepareStatement(query , … );
pstmt.setString( 1, request.getParameter("acct"));
ResultSet results = pstmt.executeQuery( );[/php]

Pa exemple, avec un tel code, on peut consulter tous les comptes très facilement en changeant la valeur de la variable acct.

http://example.com/app/accountInfo?acct=notmyacct

  • Security Misconfiguration: nous utilisons toujours beaucoup d’outils pour nos projets, éviter de laisser les valeurs par défaut de la configuration des ces outils.
  • Sensitive Data Exposure: protection des données sensibles, les mots de passes, les numéros de carte de paiement, les données santés ou personnels doivent être cryptés et leurs confidentialité doit être maintenues sur toute la chaîne avec l’utilisation du SSL.
  • Missing Function Level Access Control : contrôler l’accès aux fonctionnalités (pages) proposées par l’application, un utilisateur lambda ne doit pas pouvoir accéder et utiliser les fonctionnalités d’administration.
  • Cross-Site Request Forgery (CSRF) : faille assez complexe, elle consiste à forcer un utilisateur a exécuter une requête à son insu.
  • Using Components with Known Vulnerabilities : OWASP met en garde sur l’utilisation de composants tiers dans nos développements, notamment les composants open source. Il est important de se documenter sur les failles connues des outils que nous utilisons, il faut rester à jour.
  • Unvalidated Redirects and Forwards : Faille classique et simple à corriger. Il faut toujours vérifier la destination des redirections que nous implantant dans nos application web, ne pas accepter les redirections n’allant pas sur votre site.

Le mieux étant de ne pas utiliser les redirections.