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. Som 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 jevnlig oppført i OWASP Top 10 som en av de vanligste sårbarhetene i webapplikasjoner.

plexicus-xss-angrep-illustrasjon

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 skadelige 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 skjemainput som passord eller kredittkort)
  • Phishing-angrep (injisere falske innloggingsskjemaer)
  • Malware-levering (omdirigere brukere til ondsinnede 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 lenke laget av angripere.

Hvordan forhindre XSS

  • Input-sanitization og output-koding: alltid rense brukerinputdata før behandling, transformere brukerinput 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 en venn, (b) la til frasen “Samy er min helt” til deres profiler, og (c) replikerte seg selv til disse brukernes profilsider.

Innvirkning: Ormen selvreplikerte til ~1 million brukere innen ~20 timer, noe som tvang MySpace til å gå midlertidig offline.

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

Lærdommer / løsning: Riktig utgangskoding, inndatasanitering, fjerning av HTML i profilfeltene, 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