samedi 18 décembre 2010

Les failles Cross-Site Scripting: si communes et pourtant si méconnues !

Comme l’indique le site xss attacks information, les failles Cross-Site Scripting (aussi appelé XSS) sont toujours d’actualité bien qu’elles soient connues comme le "loup blanc" depuis de nombreuses années. Mais comme parfois avec ce qui nous est familier, nous en perdons le véritable signification et en oublions le risque. Je ne sais pas pour vous, mais pour moi c'est le cas!

A titre d’exemple, voici une capture d’écran du site de BP ayant subi une attaque XSS:

bpsucks

Nous allons dans ce qui suit décrire ce qu'est le XSS et les différentes formes qu'il peut prendre.

L'attaque "Stored XSS" ou “XSS permanent” dans laquelle le code injecté est stocké de manière définitive sur le serveur cible. Cette attaque peut être réalisé à deux conditons:

  • quand les informations transmises par un utilisateur sont stockées côté serveur (par exemple dans une base de données ou des fichiers)
  • quand ces informations stockées sont ensuite affichées de nouveau sans que les caractères spéciaux HTML aient été encodés.

C’est le cas d’un message écrit dans un forum qui peut être lu par des milliers de personnes.

Ci-dessous vous trouverez une vidéo détaillant la mise en oeuvre d’une attaque “XSS permanent” sur le site Webgoat de l’OWASP:

ScreenShot044

L'attaque "Reflected XSS" ou “XSS non-permanent” dans laquelle le code injecté est transmis dans la requête et renvoyé par le serveur cible (i.e. utilisation d’un message d’erreur ou d’un outil de recherche).

Mais vous allez me dire que ce n’est pas un problème car l’utilisateur malicieux ne peut injecter du code que dans ses propres pages. Eh bien non! Prenons l’exemple d’un mail de phishing qui vous propose d’aller sur une page avec une URL qui contient le code XSS!

Ci-dessous vous trouverez une vidéo détaillant la mise en oeuvre d’une attaque “XSS non-permanent” sur le site Webgoat de l’OWASP:

ScreenShot043

L'attaque "DOM Based XSS" ou “XSS local” dans laquelle le code injecté permet de modifier l’arbre DOM dans le browser de la victime permettant à la page web de se comporter différemment (i.e. phase d’authentification court-circuitée).

Comme précédemment un mail de phishing avec une URL prenant en compte la faille peut vous piéger.

Ci-dessous vous trouverez une vidéo détaillant la mise en oeuvre d’une attaque “XSS local” sur le site Webgoat de l’OWASP:

ScreenShot042

Le XSS est également utilisé dans une attaque nommée Cross-Site Request Forgery ou CSRF. Un précédent article décrit précisément en quoi consiste cette faille et comment la mettre en oeuvre (voir l’article Cross Site Request Forgery par l'image!).

Source: toujours l’OWASP !http://www.owasp.org/index.php/Cross-site_Scripting_(XSS)

Aucun commentaire:

Enregistrer un commentaire

Partager avec...