Cross-Site Request Forgery (CSRF)

Andre betegnelser

CSRF

AI

Automatisering

Branding

Design

Marketing

Procesoptimering

SaaS

SEO

Sikkerhed

UX

Webudvikling

Cross-Site Request Forgery (CSRF) er et angreb, hvor en angriber får en bruger til ubevidst at udføre handlinger på et website, hvor brugeren allerede er autentificeret. Angrebet udnytter browserens automatiske afsendelse af cookies og andre credentials.

Hvad er Cross-Site Request Forgery?

CSRF opstår, når et website accepterer tilstandsændrende handlinger (fx POST, PUT, DELETE) uden at verificere, at anmodningen faktisk stammer fra den legitime applikation og ikke fra et tredjepartswebsite.

Brugeren er logget ind. Angriberen udnytter tilliden.

Hvordan opstår problemet?

CSRF er muligt, når:

  • Autentifikation sker via cookies

  • State-changing requests mangler CSRF-token

  • Serveren ikke validerer request-origin

  • SameSite cookies er for brede eller forkert anvendt

Typisk flow:

  1. Brugeren er logget ind på bank.dk

  2. Brugeren besøger angriberens website

  3. Sitet sender automatisk en request til bank.dk

  4. Browseren vedhæfter cookies

  5. Handlingen udføres i brugerens navn

Hvorfor er CSRF alvorligt?

Sikkerhed

  • Uautoriserede handlinger

  • Ændring af e-mail, password eller betalingsdata

  • Oprettelse eller sletning af ressourcer

Forretning

  • Direkte økonomisk tab

  • Tab af brugertillid

  • Support- og incident-omkostninger

Compliance

  • Manglende kontrol over brugerhandlinger

  • Potentielle audit-fund

Typiske angrebsscenarier

  • Skjulte formularer

  • Auto-submit forms

  • Image tags der trigger GET-requests

  • Cross-site POST via JavaScript

Best Practice – forebyggelse

CSRF-tokens

  • Generér unikke, uforudsigelige tokens per session eller request

  • Valider token server-side

  • Kræv token på alle state-changing requests

SameSite cookies

  • Brug SameSite=Lax eller Strict hvor muligt

  • Undgå SameSite=None uden absolut behov

Origin- og Referer-validering

  • Afvis requests uden korrekt Origin eller Referer

  • Brug som supplement, ikke som eneste kontrol

HTTP-metoder

  • Undgå state-changes via GET

  • Brug POST/PUT/DELETE korrekt

Hvad beskytter ikke mod CSRF?

  • Autentifikation alene

  • HTTPS

  • Input-validering

  • JavaScript-only kontroller

CSRF er et browser- og sessionsproblem, ikke et input-problem.

Forretnings- og udviklingsmæssig betydning

Arkitektur

CSRF-afværgelse bør være indbygget i framework-niveau, ikke håndkodet per endpoint.

Skalerbarhed

Manglende CSRF-beskyttelse skaber systemisk risiko, der vokser med brugerbasen.

Modenhed

Fravær af CSRF-beskyttelse signalerer lav sikkerhedsprioritet.

Udfordringer og løsninger

Udfordring: API’er med cookie-auth

Løsning: Brug CSRF-tokens eller skift til token-baseret auth

Udfordring: Single Page Applications

Løsning: Synkronisér CSRF-token via headers

Udfordring: Legacy endpoints

Løsning: Central middleware for CSRF-validering

Opsummering

CSRF er et forudsigeligt og velkendt angreb.

Hvis en applikation:

  • stoler blindt på cookies,

  • ikke validerer requestens oprindelse,

  • eller tillader state-changes uden token,

så er den sårbar.

CSRF-beskyttelse er ikke valgfrit.

Det er basal webhygiejne.

Relaterede begreber

Book et møde

Hvornår?

Vælg dato