Command Palette

Search for a command to run...

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. Oftest 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, kunne en angriper legge til kode som dette:

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

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

Hvorfor XSS er viktig i cybersikkerhet

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

  • Kontoovertakelse (stjeling av sesjonskaker for å utgi seg for brukere)
  • Datatyveri (fangst av skjemaoppføringer som passord eller kredittkort)
  • Phishing-angrep (injeksjon av falske innloggingsskjemaer)
  • Malware-levering (omdirigering av 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, profilside.
  5. Reflektert XSS
  6. Skriptet 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

  • Inndatasanitering & utgangskoding: alltid rengjøre brukerens inndata før behandling, transformere brukerens inndata 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 verden - Samy-ormen (MySpace, 2005)

Hva skjedde: Samy Kamkar publiserte en MySpace-profil som inneholdt en lagret XSS-payload. Når andre brukere så profilen, kjørte payloaden i deres nettlesere, den (a) la til Samy som venn, (b) la til frasen “Samy er min helt” til deres profiler, og (c) replikerte seg selv til disse brukernes profilside.

Innvirkning: Ormen selv-replikerte til ~1 million brukere innen ~20 timer, og tvang MySpace til å være offline midlertidig.

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

Leksjoner / løsning: Riktig utgangskoding, input-sanitær, fjerning av HTML i profilfelt, og rask patching. Samy møtte senere juridiske konsekvenser, og MySpace implementerte filtre.

Relaterte begreper

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