Les failles les plus dangereuses sur une application web: XSS, CSRF, SQL injection, CORS (épisode 1/4)

Concevoir une plateforme web ou un service en SaaS nécessite de prendre en considération la sécurité de celui-ci en profondeur. Sans cet effort, l'ensemble des données, souvent stratégiques, peut être exposé par une simple vulnérabilité. Un cyber-criminel peut alors ex-filtrer des data ou générer des fuites de données en toute discrétion. Les plateformes web intègrent généralement les mêmes failles de sécurité. On vous explique comment elles fonctionnent et comment vous protéger grâce à 4 épisodes.

  1. CORS
  2. XSS
  3. CSRF
  4. SQL injection

CORS

Depuis 2004, grâce au W3C, les applications web peuvent réaliser des requêtes POST/PATCH/DELETE sur différents serveurs. Elles ne sont plus limitées à un serveur unique. Mais ceci peut constituer une faille. Il faut bien prendre en compte la configuration du front-end mais aussi surtout du back-end.

Comment CORS fonctionne ?

Pour envoyer ou récupérer des données sur différents serveurs, le navigateur commence par réaliser une requête Pre-Flight afin de savoir ce qu'il peut réaliser par la suite et s'il a l'autorisation de le faire. Cette requête se compose de différents headers HTTP: Origin, Access-Control-Request-Method, Access-Control-Request-Headers. A la suite de cette requête, le serveur répond ce que le client peut réaliser. Ceci grâce à différents en-têtes: Access-Control-Allow-Origin, Access-Control-Allow-Methods, etc.

Quelle faille sur CORS ?

Par manque de temps ou pour simplifier le projet web certains développeurs vont avoir tendance à tout autoriser par défaut. Ils vont utiliser * comme valeur de référence, ce qui autorise l'accès aux données sans protection. Ceci constitue une faille de sécurité critique en raison d'un défaut de configuration. Cette vulnérabilité peut être évitée assez facilement.

Quelle mesure de sécurité sur CORS ?

La contre mesure repose sur la bonne configuration du service SaaS. Il faut commencer par identifier les ressources ayant besoin d'accéder aux informations et de quelles manières elles peuvent le faire. Une fois ceci clarifié, il faut le configurer dans des règles simples et retirer toute valeur par défaut de type *. De cette manière vous aurez limité la surface d'attaque.

Retrouvez une description des autres failles de sécurité les plus dangereuses du web

Nous proposons un service de cyber-sécurité.

Contactez-nous