Ordliste XSS (Cross-Site Scripting)

Hva er XSS (Cross-Site Scripting)?

Cross-Site Scripting, eller XSS, er en sikkerhetsfeil på nettsteder som lar angripere legge til skadelige skript på nettsider. Ofte er disse skriptene skrevet i JavaScript.

Hvis noen besøker en side som er påvirket av XSS, kjører nettleseren deres angriperens skript. Dette kan resultere i stjålne informasjonskapsler, kaprede økter, eller handlinger utført uten brukerens tillatelse.

XSS, som SQL Injection, er regelmessig oppført i OWASP Top 10 som en av de vanligste sårbarhetene i webapplikasjoner.

plexicus-xss-attack-ilustration

Hvordan fungerer XSS?

XSS retter seg ofte mot webapplikasjoner som ikke korrekt sjekker og renser brukerinput.

For eksempel, hvis en kommentarboks tillater rå HTML eller JavaScript uten noen filtrering, kan en angriper legge til kode som dette:

<script>alert('Hacket!');</script>

Når ofrene ser siden, kjører den ondsinnede koden i nettleseren deres.

Hvorfor XSS er viktig i cybersikkerhet

XSS kan føre til et større brudd:

  • Kontoovertakelse (stjeling av sesjonskapsler for å utgi seg for brukere)
  • Datatyveri (fange opp skjemaoppføringer som passord eller kredittkort)
  • Phishing-angrep (injisere falske innloggingsskjemaer)
  • Malware-levering (omdirigere brukere til skadelige nettsteder)

Typer av XSS

  1. DOM-basert XSS
  2. Angrepet skjer helt i nettleseren ved å manipulere Document Object Model (DOM) uten å involvere serveren.
  3. Lagret XSS
  4. Ondsinnet skript er permanent lagret på serveren, som i databasen eller profilside.
  5. Reflektert XSS
  6. Skript reflekteres fra en webserver (f.eks. i URL eller feilmelding), skriptet vil bli utført når offeret klikker på en spesiallaget lenke av angripere.

Hvordan forhindre XSS

  • Inndatavalidering og utdataenkoding: alltid rense brukerinndata før behandling, transformere brukerinndata til et trygt format
  • Bruk Content Security Policy (CSP): begrenser hvilke skript som kan kjøres i nettleseren.
  • Unngå eval() og inline JavaScript: for å redusere injeksjonsrisiko.
  • Sikkerhetstesting (DAST/IAST): kjør sikkerhetstesting for å oppdage sårbarheter tidlig

Eksempel i virkelige tilfeller - Samy-ormen (MySpace, 2005)

Hva skjedde: Samy Kamkar publiserte en MySpace-profil som inneholdt en lagret XSS-nyttelast. Når andre brukere så profilen, kjørte nyttelasten i deres nettlesere, den (a) la til Samy som venn, (b) la til setningen “Samy is my hero” til deres profiler, og (c) replikerte seg selv til de brukernes profilsider.

Innvirkning: Ormen selvreplikerte til ~1 million brukere innen ~20 timer, og tvang MySpace offline midlertidig.

Hvorfor det fungerte: MySpace tillot uescape HTML/attributter i profilfeltene, noe som muliggjorde lagret skripteksekvering i besøkendes nettlesere.

Leksjoner / fiks: Riktig utgangskoding, inndatakontroll, fjerning av HTML i profilfelt, og rask oppdatering. Samy møtte senere juridiske konsekvenser, og MySpace implementerte filtre.

Relaterte Termer

Neste Steg

Klar til å sikre dine applikasjoner? Velg din vei videre.

Bli med 500+ selskaper som allerede sikrer sine applikasjoner med Plexicus

SOC 2 Compliant
ISO 27001 Certified
Enterprise Ready