Vous êtes sur la page 1sur 4

Les failles XSS

La faille XSS, de son nom complet Cross-Site Scripting, est une faille qui permet d’injecter du
code HTML et/ou Javascript dans des variables ou bases de données mal protégées.

Les attaques de type Cross-Site Scripting (XSS) sont un type d'injection, dans
lequel des scripts malveillants sont injectés dans des sites Web. Cette attaque ne
vise pas directement le site comme le ferait une injection SQL mais concerne plutôt la partie
client c'est-à-dire vous (ou plutôt votre navigateur). Ce dernier ne fera aucune différence entre le
code du site et celui injecté par le pirate.Les possibilités sont nombreuses : redirection vers un
autre site, vol de cookies, modification du code HTML de la page, exécution d'exploits contre le
navigateur.

Types de failles XSS :


XSS stocké (ou permanent) :
les vulnérabilités dans lesquelles le pirate injecte des codes malveillants directement
dans la base de données ou le serveur. Ici, l’application ou le site Web reçoit des
données ou du code malveillants provenant de sources non autorisées et les stocke
dans le système sans vérification. Lorsqu’une victime ouvre la page Web affectée
dans un navigateur, le code d’attaque XSS est affiché sur le navigateur de la victime
dans le cadre du code HTML (comme le ferait un commentaire légitime). Par
conséquent, la victime finira par exécuter le script malveillant une fois la page
affichée dans son navigateur. Les sites les plus visés par ces scripts sont les blogs et
les forums.

Prenons pour exemple un forum, ou un blog. L’attaquant va envoyer un message ou


un commentaire contenant le contenu malicieux. Lorsque les autres utilisateurs vont
se rendre sur le forum ou le blog, ce contenu sera là, à chaque fois qu’ils afficheront
la page.

XSS reflété (ou non persistante) :


Cette vulnérabilité permet au pirate d’injecter du code malveillant dans le navigateur
de la victime sous forme de code HTML. L’utilisateur n’est infecté par le code que
lorsqu’il clique dessus. Le XSS reflété est moins dangereux que le XSS stocké car le
contenu malveillant n’est pas stocké en permanence dans la base de données/le
serveur. Il existe différentes manières pour un attaquant d’inciter un utilisateur
victime à faire une demande qu’il contrôle, pour livrer une attaque XSS réfléchie. Il
s’agit notamment de mettre des liens sur un site Web contrôlé par l’attaquant, ou en
envoyant un lien dans un e-mail, de pop-ups publicitaires.
Imaginez un site web vous permettant de voir les prévisions météo pour une ville
donnée. Le nom de la ville est fourni dans l’URL de la page, comme ceci:
www.victim-website-example.com/previsionsmeteo?ville=Lyon

La page va donc vous afficher les prévisions météo pour Lyon, en réutilisant le nom
de la ville qui se trouve dans l’URL.
Le pirate pourra utiliser cette URL pour fournir un contenu malicieux comme ceci:
www.victim-website-example.com/previsionsmeteo?ville=Lyon[contenu malicieux]

Avec un tel contenu dans l’URL, le serveur web va donc afficher les prévisions météo
pour Lyon, mais va potentiellement aussi inclure le contenu dangereux dans la page.

XSS STOCKÉ XSS REFLÉTÉ

Également connu sous


le nom de XSS Également connu sous le nom de XSS temporaire.
permanent.

Un code malveillant est


Le code malveillant n’est pas stocké dans l’application.
stocké dansl’application.
XSS STOCKÉ XSS REFLÉTÉ

Cause plus de
dommages à Provoque moins de dommages à l’application Web ou au
l’application Web ou au site Web.
site Web.

Cible tous les utilisateurs


Cible peu d’utilisateurs utilisant l’application Web ou le
utilisant l’application
site Web.
Web ou le site Web.

Le code malveillant est


activé lorsque la victime Le code malveillant est activé après avoir cliqué sur un
visite la page Web lien.
compromise.

Plus difficile à réaliser. Plus facile à réaliser.

XSS basé sur le DOM :


Contrairement aux deux autres décrites précédemment, le code n’est pas envoyé à
un serveur, mais exécuté directement par le navigateur de l’utilisateur.

les attaques XSS réfléchies et DOM-based doivent être placées dans les
paramètres d’une requête, en particulier dans l’URL.

Vous aimerez peut-être aussi