Qu’est-ce qu’un script intersite réfléchi/non persistant ?

Le script intersite réfléchi est un type de script intersite (XSS) dans lequel l’attaquant n’envoie pas la charge utile à l’application Web ; au lieu de cela, ils l’envoient à la victime sous la forme d’une URL qui inclut la charge utile (souvent obscurcie). La victime clique sur l’URL et ouvre l’application Web vulnérable, exécutant involontairement la charge utile. Les scripts intersites réfléchis sont également appelés scripts intersites non persistants .

Exemple de script intersite réfléchi/non persistant

Dans cet exemple, le développeur souhaite afficher le nom de l’utilisateur actuellement authentifié sur un écran d’accueil ( welcome.php ). Ils incluent le formulaire de connexion suivant sur la page Web login.php :

<form action="/welcome.php" method="get" id="login">
  <label for="name">Your name:label>
  <input type="text" id="name" name="name">
  <label for "password">Your password:label>
  <input type="password" id="password" name="password">
  <button type="submit" form="login" value="login">Log inbutton>
form>
 

Le fichier welcome.php comprend le code suivant :

// Display the name of the user
(...)
$name=$_GET["name"];
echo "Hello, ".$name."!";
(...)
 

Comme vous pouvez le constater, l’application envoie le nom et le mot de passe à l’aide de la méthode GET, puis affiche le nom sur la page welcome.php sans aucune validation ni désinfection.

L’attaque de script intersite réfléchie

L’attaquant crée l’URL suivante :

http://www.example.com/welcome.php?name=
%3c%73%63%72%69%70%74%3e%61%6c%65%72%74%28
%22%4c%45%41%56%45%20%54%48%49%53%20%50%41
%47%45%21%20%59%4f%55%20%41%52%45%20%42%45
%49%4e%47%20%48%41%43%4b%45%44%21%22%29%3b
%3c%2f%73%63%72%69%70%74%3e

La longue chaîne de codes hexadécimaux dans cette charge utile est une forme encodée en URL du contenu suivant :

<script>alert("LEAVE THIS PAGE! YOU ARE BEING HACKED!");</script>
 

Ensuite, l’attaquant envoie l’URL à la victime, par exemple, dans un e-mail ou un message instantané. La victime clique sur l’URL, ouvre la page welcome.php et son navigateur interprète le code suivant :

<strong>Hello, <script>alert("LEAVE THIS PAGE! YOU ARE BEING HACKED!");script>!strong>
 

Le navigateur trouve une

Notre expertise, à votre service, dans le domaine de la cyber sécurité.