Command Palette

Search for a command to run...

Ordliste XSS (Cross-Site Scripting)

Hvad er XSS (Cross-Site Scripting)?

Cross-Site Scripting, eller XSS, er en sikkerhedsfejl på hjemmesider, der lader angribere tilføje skadelige scripts til websider. Oftest er disse scripts skrevet i JavaScript.

Hvis nogen besøger en side, der er påvirket af XSS, kører deres browser angriberens script. Dette kan resultere i stjålne cookies, kaprede sessioner eller handlinger udført uden brugerens tilladelse.

XSS, ligesom SQL Injection, er regelmæssigt opført i OWASP Top 10 som en af de mest almindelige webapplikationssårbarheder.

plexicus-xss-attack-ilustration

Hvordan fungerer XSS?

XSS retter sig ofte mod webapplikationer, der ikke korrekt kontrollerer og renser brugerinput.

For eksempel, hvis en kommentarboks tillader rå HTML eller JavaScript uden nogen filtrering, kunne en angriber tilføje kode som denne:

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

Når ofrene ser siden, kører den skadelige kode i deres browser.

Hvorfor XSS er vigtigt i cybersikkerhed

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

  • Kontoovertagelse (stjæling af sessionscookies for at udgive sig som brugere)
  • Datatyveri (opsamling af formularinput som adgangskoder eller kreditkort)
  • Phishing-angreb (indsprøjtning af falske loginformularer)
  • Malware-levering (omdirigering af brugere til skadelige websites)

Typer af XSS

  1. DOM-baseret XSS
  2. Angrebet sker udelukkende i browseren ved at manipulere Document Object Model (DOM) uden at involvere serveren.
  3. Lagret XSS
  4. Skadelig script er permanent lagret på serveren, såsom i databasen, profilside.
  5. Reflekteret XSS
  6. Scriptet reflekteres fra en webserver (f.eks. i URL eller fejlmeddelelse), scriptet vil blive udført, når offeret klikker på et manipuleret link af angribere.

Hvordan man forhindrer XSS

  • Inputsanitering & outputkodning: altid rengøring af brugerinputdata før behandling, transformering af brugerinput til et sikkert format
  • Brug Content Security Policy (CSP): begrænser hvilke scripts der kan udføres i browseren.
  • Undgå eval() og inline JavaScript: for at reducere injektionsrisici.
  • Sikkerhedstestning (DAST/IAST): udfør sikkerhedstestning for at opdage sårbarheder tidligt

Eksempel i virkelige verden - Samy worm (MySpace, 2005)

Hvad skete der: Samy Kamkar offentliggjorde en MySpace-profil, der indeholdt en lagret XSS-payload. Når andre brugere så profilen, kørte payloaden i deres browsere, den (a) tilføjede Samy som ven, (b) tilføjede sætningen “Samy er min helt” til deres profiler, og (c) replikerede sig selv til disse brugeres profil-sider.

Indvirkning: Ormen selv-replikerede til ~1 million brugere inden for ~20 timer, hvilket tvang MySpace offline midlertidigt.

Hvorfor det virkede: MySpace tillod uescape HTML/attributter i profilfelter, hvilket muliggjorde lagret script-eksekvering i besøgendes browsere.

Lektioner / løsning: Korrekt output-kodning, input-sanitization, fjernelse af HTML i profilfelter og hurtig patching. Samy stod senere over for juridiske konsekvenser, og MySpace implementerede filtre.

Relaterede Termer

Next Steps

Klar til at sikre dine applikationer? Vælg din vej fremad.

Deltag i 500+ virksomheder, der allerede sikrer deres applikationer med Plexicus

SOC 2 Compliant
ISO 27001 Certified
Enterprise Ready