Child pages
  • Cours de sécurité accéléré no. 3 - XSS

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

Cours de

...

sécurité accéléré no. 3 - XSS

Cet article a été écrit par Damien Metzger, et publié sur le blog de PrestaShop le 26 septembre 2011.

...

Une faille XSS consiste à exploiter l'interprétation HTML / JavaScript par le navigateur lors l'affichage des données. Si vous affichez dans la page une donnée non protégée – c'est-à-dire sans prendre le soin de convertir les caractères qui sont interprétés-, alors le navigateur pourra interpréter les variables affichées comme du HTML ou du JavaScript.

Notetip
titleExemple

Page :
<html> <body> Aucun résultat n'a été trouvé pour votre mot clé $keyword.</body> </html>

Exploitation :

Il suffit d'indiquer comme mot clé la chaine de caractères suivante :

Code Block
<script type="text/javascript">alert('kikoo');</script>

Résultat :

Un message d'alerte « kikoo » apparaitra sur la page.

On peut bien évidemment faire bien plus en JavaScript qu'un message d'alerte : redirection vers un autre site, vol de cookies...

Comment s'en protéger ?

Ce n'est pas très compliqué : tout ce qui apparaît dans vos pages HTML doit être protégé avec une fonction comme htmlspecialchars() ou htmlentities(). Selon les cas, vous pourrez également être amené à utiliser des fonctions complémentaires telles que strip_tags() qui enlève toutes les balises HTML d'une chaine de caractères, ou encore un simple addslashes() si vous faites du JavaScript.

...