Cours ssow
CROSS SITE SCRIPTING
(XSS)
I-Définitions :
Le XSS (Cross Site Scripting) consiste à injecter et faire interpréter ou mieux faire exécuter un code imprévu à un navigateur WEB, le XSS est donclié aux technologies du WEB, ce qui veut dire qu’il ne se cantonne pas à un langage : tout langage reconnu par un navigateur est susceptible d’être utilisée ; en pratique.
Le XSS exploite toutparticulièrement les descripteurs HTML et le javascript.
II-La faille echo() :
La fonction echo() de PHP permet l’affichage de texte.
Ce texte peut être représenté par une variable qui sera définielors de l’appel de la page via une chaine de requête :
http://www.victime.net/test.php?&texte=salut-comment-ça-va
Sur la page test.php du site www.victime.net, on aura à l’emplacement du code :Changez maintenant l’URL dans la barre d’adresse :
http://www.victime.net/test.php?=j’ai-changé-le-texte
La variable $texte a changé de valeur, Si on a pus mettre du texte, alors, on peutpeut-être mettre du code !
Pour vérifier si le Webmaster n’a pas pensé à sécuriser son code, voici comment faire :
http://www.victime.net/test.php?&texte= alert(« votre site est vulnérable ! »)
Si lapage affiche une boite de dialogue avec inscrit » votre site est vulnérable ! », alors le site est réellement vulnérable.
Si par contre, le petit script apparait sur la page en titre, alors le siten’est pas vulnérable et il est impossible d’utiliser le XSS.
Exemple : moteur de recherche
Comment sécuriser tout ça ?
Que ce soit dans le moteur ou echo tout seul, le principe est le même : ne plusutiliser echo().
On doit donc le remplacer par
.
Cette fonction transforme les caractères de la chaine en entités html, le code n’est donc plus interprété en tant que tel.
III-La faille include() :Dans la programmation PHP, include() permet l’insertion de fichiers directement dans une page.
La plupart du temps, le fichier qui sera appellé est défini dans la chaîne de requête qui…