Skip to main content
Alle Termen Glossary

Cross-Site Scripting (XSS)

Definition

Cross-Site Scripting is een beveiligingskwetsbaarheid waarbij aanvallers kwaadaardige scripts injecteren in webpagina's die door andere gebruikers worden bekeken. Deze scripts kunnen sessietokens, cookies en andere gevoelige gegevens stelen, of acties uitvoeren namens de gebruiker. XSS komt in verschillende vormen: reflected (via URL-parameters), stored (in databases) en DOM-based (in client-side JavaScript). Preventie vereist juiste inputvalidatie, output-encoding en implementatie van Content Security Policy.

Hoe XSS werkt

Cross-site scripting (XSS) is een kwetsbaarheid waarmee een aanvaller JavaScript kan injecteren in een pagina die andere gebruikers vervolgens laden. Als een applicatie invoer overneemt, een zoekterm, een reactie, een URL-parameter, en die zonder juiste encoding in de pagina weergeeft, kan een aanvaller script in plaats van tekst aanleveren. Dat script draait in de browser van het slachtoffer met de sessie van het slachtoffer, waardoor het cookies kan stelen, toetsaanslagen kan vastleggen of als de gebruiker kan handelen.

De belangrijkste typen

Er zijn drie klassieke vormen. Stored XSS slaat de payload op de server op, in een reactie of profielveld, zodat het elke bezoeker treft. Reflected XSS kaatst de payload via de server terug met een geprepareerde link. DOM-based XSS bereikt de server helemaal niet: kwetsbare client-side JavaScript schrijft door de aanvaller gecontroleerde data in de pagina. Elk vereist een iets andere verdediging, maar ze eindigen allemaal met code van de aanvaller die in een vertrouwde context draait.

Je verdedigen tegen XSS

De kernverdedigingen zijn contextuele output-encoding, invoervalidatie en een sterke Content Security Policy die beperkt wat geïnjecteerd script kan doen. Omdat XSS uiteindelijk leidt tot onverwachte JavaScript die in de browser draait, voegt client-side monitoring een nuttige laag toe: cside kan markeren wanneer een pagina script begint uit te voeren dat gevoelige velden leest of data exfiltreert, en zo exploitatie opsporen, zelfs wanneer een specifieke injectiefout bij de codereview is gemist.

Definitie

Wat kan een aanvaller daadwerkelijk doen met een XSS-fout?

Alles wat de browser van de gebruiker in die sessie kan doen: cookies of tokens lezen en exfiltreren, vastleggen wat de gebruiker typt, inclusief wachtwoorden en kaartnummers, de pagina-inhoud herschrijven voor phishing, of geauthenticeerde verzoeken als het slachtoffer uitvoeren. De ernst hangt af van de rechten van de getroffen gebruiker.

Definitie

Voorkomt een Content Security Policy XSS?

Een goed geconfigureerde CSP maakt exploitatie veel moeilijker door inline scripts en niet-vertrouwde bronnen te beperken, maar het is een mitigatie, geen genezing. Verkeerde configuraties, toegestane maar misbruikbare domeinen en DOM-based sinks kunnen nog steeds worden misbruikt. Een CSP werkt het best in combinatie met correcte output-encoding.

Got more questions

Talk to a security expert

We answer client-side security questions every day. Bring yours.

Boek een demo

Wil je dit doornemen met een engineer?

Dertig minuten, op je eigen site. Geen slides.

We laten je zien:

Welke scripts van derden er nu op je site draaien
Hoe je ervoor staat op PCI DSS 6.4.3 en 11.6.1
Welk deel van je verkeer uit bots en AI-agents bestaat

Liever gewoon een vraag stellen?

Vrije momenten zoeken…

Alleen echte mensen. Wij merken het.

Lukt het boeken niet? Agenda in een nieuw tabblad openen

Wat wil je oplossen?

Vertel het ons in één zin, dan komen we terug met iets bruikbaars in plaats van een standaardverhaal.

Waar we meestal mee helpen:

Zien welke scripts van derden op je site draaien
Bewijs voor PCI DSS 6.4.3 en 11.6.1
Bots, AI-agents en accountovername

Liever meteen een moment inplannen? Kies een tijdstip