Threats and Attacks

Qu'est-ce que le XSS (Cross-Site Scripting) ?

Le Cross-Site Scripting, ou XSS, est une faille de sécurité dans les sites web qui permet aux attaquants d'ajouter des scripts nuisibles aux pages web. La plupart du temps, ces scripts sont écrits en JavaScript.

Qu’est-ce que le XSS (Cross-Site Scripting) ?

Le Cross-Site Scripting, ou XSS, est une faille de sécurité dans les sites web qui permet aux attaquants d’ajouter des scripts nuisibles aux pages web. La plupart du temps, ces scripts sont écrits en JavaScript.

Si quelqu’un visite une page affectée par le XSS, son navigateur exécute le script de l’attaquant. Cela peut entraîner le vol de cookies, la prise de contrôle de sessions ou des actions effectuées sans la permission de l’utilisateur.

Le XSS, comme l’injection SQL, est régulièrement listé dans le OWASP Top 10 comme l’une des vulnérabilités d’applications web les plus courantes.

plexicus-xss-attack-ilustration

Comment fonctionne le XSS ?

Le XSS cible souvent les applications web qui ne vérifient pas correctement et ne nettoient pas les entrées utilisateur.

Par exemple, si une boîte de commentaire permet du HTML brut ou du JavaScript sans aucun filtrage, un attaquant pourrait ajouter un code comme celui-ci :

<script>alert('Piraté !');</script>

Lorsque les victimes consultent la page, le code malveillant s’exécute dans leur navigateur.

Pourquoi le XSS est important en cybersécurité

Le XSS peut conduire à une violation plus importante :

  • Prise de contrôle de compte (vol de cookies de session pour usurper l’identité des utilisateurs)
  • Vol de données (capture des entrées de formulaire comme les mots de passe ou les cartes de crédit)
  • Attaques de phishing (injection de faux formulaires de connexion)
  • Distribution de logiciels malveillants (redirection des utilisateurs vers des sites web malveillants)

Types de XSS

  1. XSS basé sur le DOM
  2. L’attaque se produit entièrement dans le navigateur en manipulant le Document Object Model (DOM) sans impliquer le serveur.
  3. XSS stocké
  4. Le script malveillant est stocké de manière permanente sur le serveur, comme dans la base de données ou la page de profil.
  5. XSS réfléchi
  6. Le script est réfléchi par un serveur web (par exemple, dans l’URL ou le message d’erreur), le script sera exécuté lorsque la victime clique sur un lien conçu par les attaquants.

Comment prévenir le XSS

  • Assainissement des entrées et encodage des sorties : toujours nettoyer les données d’entrée utilisateur avant de les traiter, transformer les entrées utilisateur en un format sûr
  • Utiliser la politique de sécurité de contenu (CSP) : restreint les scripts pouvant être exécutés dans le navigateur.
  • Éviter eval() et JavaScript en ligne : pour réduire les risques d’injection.
  • Tests de sécurité (DAST/IAST) : effectuer des tests de sécurité pour détecter les vulnérabilités tôt

Exemple dans un cas réel - Ver Samy (MySpace, 2005)

Ce qui s’est passé : Samy Kamkar a publié un profil MySpace contenant une charge utile XSS stockée. Lorsque d’autres utilisateurs ont consulté le profil, la charge utile s’est exécutée dans leurs navigateurs, elle (a) a ajouté Samy comme ami, (b) a ajouté la phrase “Samy est mon héros” à leurs profils, et (c) s’est répliquée sur les pages de profil de ces utilisateurs.

Impact : Le ver s’est auto-propagé à ~1 million d’utilisateurs en ~20 heures, forçant MySpace à être temporairement hors ligne.

Pourquoi cela a fonctionné : MySpace a permis l’exécution de scripts non échappés dans les champs de profil, permettant l’exécution de scripts stockés dans les navigateurs des visiteurs.

Leçons / correction : Encodage de sortie approprié, assainissement des entrées, suppression du HTML dans les champs de profil, et correction rapide. Samy a ensuite fait face à des conséquences légales, et MySpace a déployé des filtres.

Termes associés

Prêt à valider l'essentiel ?

Prêt à valider ce qui compte.

Plexicus est Proof-Driven AppSec : findings validés, compréhension contextuelle et remédiation relue — ancrée dans la preuve, scopée avec vous.

Qualification

Check whether AI Swarm Pentest fits your environment.

Share the minimum context. We will review the scope and tell you the next commercial step.

Before submitting — verify you fit

Teams with fewer than 50 developers: start a 14-day Trial instead of booking a demo. Start a 14-day Trial →

0 / 280

No commitment. If you don't fit, we'll tell you.

SAMPLE HANDOVER · ILLUSTRATIVE

Sample evidence handover

A trimmed view of what your team receives at the end of an AI Swarm Pentest engagement. Real engagements include full technical evidence, executive narrative, and a remediation plan.

VALIDATED FINDING Evidence attached

Server-Side Request Forgery in webhooks/receiver

demo-project/sample-app · src/webhooks/receiver.py:42

SeverityHigh CVSS 3.18.6 Priority79 Confirmedvia replay

Untrusted caller-supplied URLs reach an internal egress without an allowlist. Replayed in a sandbox against a fresh authorised target — the same control was validated to fail twice.

REVIEWER-READY REMEDIATION Merge-ready PR

Validate the target URL against an allowlist of permitted hostnames. Reject private/internal IP ranges. Enforce HTTPS only.

plexicus/remediation/webhooks-ssrf 3 changed · 0 new files
42resp = requests.get(target_url)
42+if not is_allowed_host(target_url):
43+  raise WebhookRejected(target_url)
44+resp = requests.get(target_url, timeout=5)
Every engagement hands over:
  • Executive briefing
  • Validated findings list
  • Merge-ready PRs
  • Compliance mapping (NIS2 · DORA · CRA)