Elke nacht van 22:00 tot 07:00 uur onderhouden we onze servers. Lees wat je merkt Elke nacht onderhoud, 22:00-07:00 uur. Lees meer
Bestellen
Hosting
Domeinnaam
Ondersteuning
Ontdek
Terug naar begrippenlijst

XSS

XSS (cross-site scripting) is een aanval waarbij een kwetsbare website de JavaScript van een aanvaller naar bezoekers stuurt.

Actueel: WordPress updateproces beveiligen tegen RCE: update 7.1.4

XSS

XSS (cross-site scripting) is een aanval waarbij een aanvaller eigen JavaScript in een kwetsbare website smokkelt, zodat die code draait in de browser van gewone bezoekers. De browser ziet het script als onderdeel van de site en geeft het dezelfde rechten als de echte code.

Het gaat mis waar een site invoer van buiten ongefilterd terugtoont, zoals een zoekterm, een reactie of een profielnaam. Bij stored XSS bewaart de site het script, bijvoorbeeld in een reactie onder een blog, en krijgt elke lezer het voorgeschoteld. Bij reflected XSS zit het script in een link waarop het slachtoffer moet klikken, en bij DOM-based XSS ontstaat het lek in de JavaScript van de pagina zelf.

Met zo'n script kan een aanvaller sessiecookies stelen, formulieren uitlezen of handelingen uitvoeren namens een ingelogde beheerder. Hoe snel dat gaat, liet de Samy-worm in 2005 zien: via een XSS-lek in MySpace bereikte hij binnen 20 uur meer dan een miljoen gebruikers. De basisverdediging heet output-encoding. De site zet tekens als < en > dan om voordat ze op de pagina komen, zodat de browser ze als tekst toont en niet als code uitvoert.

Bij WordPress-sites kan een XSS-lek in een plugin of thema zitten, dus houd die bijgewerkt. Een extra vangnet is een Content-Security-Policy-header, die je net als andere headers met Header set in je .htaccess zet. Met script-src 'self' laadt de browser alleen scripts van je eigen domein. Test zo'n regel eerst als Content-Security-Policy-Report-Only, want een te strenge policy blokkeert ook je eigen inline scripts en externe diensten zoals statistieken.

Geschiedenis

De term cross-site scripting ontstond op 16 januari 2000, toen een kleine groep beveiligingsengineers bij Microsoft namen voor dit soort aanvallen bedacht. De naam verwees oorspronkelijk naar het laden van een aangevallen webapplicatie vanaf een ongerelateerde aanvalssite (Microsoft, 2009). Later ging de term over alle vormen van ingevoegde scripts, ook binnen één site (Wikipedia).

Belangrijke mijlpalen:

  • 2000: Microsoft-engineers introduceren de naam cross-site scripting
  • 2005: de Samy-worm verspreidt zich op 4 oktober via een XSS-lek in MySpace naar meer dan een miljoen gebruikers in 20 uur

Bronnen