XSS réfléchi

XSS réfléchi

L’ensemble de l’attaque s’inscrit dans un lien qui vous a été envoyé.

Qu'est-ce que XSS réfléchi?

Les scripts intersites réfléchis se cachent dans l'URL. Rien n'est implanté sur le serveur : un lien spécialement construit exécute le script de l'attaquant sur votre propre origine, dans la session connectée de la victime. Vous remplacerez le terme de recherche d’un magasin par une charge utile img onerror et regarderez les résultats l’exécuter. Ensuite, vous ouvrez le gestionnaire de recherche, recherchez la requête concaténée dans la réponse HTML, échappez-la à la limite de rendu et rejouez la même charge utile sous forme de texte inerte. Une liste de blocage recherchant les balises script ne voit jamais celle-ci.

Ce que vous apprendrez dans XSS réfléchi

XSS réfléchi — Étapes de la formation

  1. Trouver la recherche de magasin

    Aujourd'hui, Bob cible Vellora , une place de marché en ligne avec une large base de clients connectés. Il ouvre la recherche du magasin public pour voir comment il se comporte. Un champ de recherche qui renvoie votre requête dans la page est la première chose qu'un attaquant sonde.

  2. Exécutez une recherche normale

    Tout d’abord, voyez comment la fonctionnalité se comporte pour un vrai acheteur. Exécutez une recherche de produit ordinaire. Le magasin renvoie les éléments correspondants et le terme saisi par Bob est répété dans l'en-tête des résultats.

  3. La requête est reflétée

    Le terme exact recherché par Bob revient directement dans l'en-tête des résultats, et la barre d'adresse le porte désormais comme paramètre q . Cette réflexion n'est dangereuse que si la page ne parvient pas à échapper à la valeur en sortant. La seule façon de le savoir est de lui donner un caractère que le navigateur considère comme un balisage.

  4. Testez s'il s'échappe

    Bob sonde la réflexion avec un test classique : une balise d'image avec une source cassée et un gestionnaire onerror qui fait apparaître un alert(1) inoffensif. Si la page échappe à la requête, cela apparaît sous forme de texte brut dans le titre. Si ce n'est pas le cas, le navigateur crée une véritable balise et l'alerte se déclenche.

  5. C'est exploitable

    L'alerte s'est déclenchée. La page n'échappe pas à la requête, elle exécute donc le balisage que comporte l'URL. Ce alert(1) inoffensif n’était que la confirmation. Une véritable charge utile n'ouvre pas de boîte de dialogue, elle s'exécute silencieusement et vole le cookie de session du visiteur.

  6. Armement et phishing

    Bob échange l'alerte contre un voleur de cookies qui signale la session sur son propre serveur, l'enveloppe dans un lien de recherche Vellora afin qu'elle s'exécute sur le domaine du magasin de confiance et la cache derrière une récompense amicale. Puis il l'envoie par courrier à une véritable employée dont la session vaut la peine d'être volée : Alice. Les gens font confiance aux liens vers le magasin de leur propre entreprise.

  7. Une récompense sortie de nulle part

    Un e-mail de récompense arrive dans votre boîte de réception. On dirait qu'il vient de Vellora et le bouton pointe vers le magasin que vous utilisez quotidiennement. Rien de mal évidemment.

  8. Réclamez la récompense

    Le lien ouvre le propre magasin de Vellora, donc on se sent en sécurité. Cliquez pour réclamer la récompense.

  9. Ce que le lien a réellement couru

    La page n'est qu'une recherche de Vellora, affichant une image brisée à l'endroit où devrait se trouver l'en-tête des résultats. Mais le paramètre q du lien contenait un script. Il s'est exécuté à l'instant où la page s'est affichée, a lu votre cookie de session et l'a signalé à l'attaquant. Il n'y avait pas de pop-up. L'image brisée est la seule trace.

  10. Votre session est détournée

    Quelques minutes plus tard, les opérations de sécurité le signalent. Le lien que vous avez ouvert a retourné votre propre vitrine contre vous, et maintenant quelqu'un d'autre organise votre session. La page piratée est toujours ouverte à côté de l'alerte. Vous possédez ce code. Lisez l'alerte, puis corrigez la cause première.

Couverture des référentiels de sécurité

OWASP Top 10

  • A05:2025 Injection
  • A03:2021 Injection

CWE

  • CWE-79 Improper Neutralization of Input During Web Page Generation

CIS Controls

  • CIS 16 Application Software Security

NIST CSF

  • PR.AT-02 Individuals in specialized roles are provided with awareness and training so that they possess the knowledge and skills to perform relevant tasks with cybersecurity risks in mind
  • PR.PS Platform Security