Gå til innholdet

Cross-site request forgery (CSRF)

CSRF utnytter en innlogget økt til en uønsket forespørsel. Øktinformasjonskapselen alene beviser ikke at personen ønsket handlingen.

Også kjent somCSRFXSRF
IT-sikkerhet

Cross-site request forgery, forkortet CSRF eller XSRF, er et angrep der et annet nettsted får nettleseren til å sende en uønsket forespørsel til en målapplikasjon. Hvis nettleseren automatisk sender med gyldig påloggingsinformasjon og egnet beskyttelse mangler, kan applikasjonen behandle forespørselen som en instruks fra den innloggede personen.

En endring i prosjektportalen

En fiktiv prosjektportal lar brukeren endre varslingsadressen i feltet notificationEmail. En person er innlogget der og besøker i tillegg en annen side. Denne siden forsøker å utløse endringen. Om øktinformasjonskapselen sendes med, avhenger blant annet av nettleserens regler for informasjonskapsler.

Kontroll av en gyldig øktinformasjonskapsel fastslår hvilken økt forespørselen tilhører. Den beviser ikke at personen ønsket denne adresseendringen. Bruk av POST alene hindrer heller ikke angrepet.

Beskytt forespørsler som endrer tilstand

For et skjema kan rammeverket gi et uforutsigbart CSRF-token som er knyttet til økten. Serveren kontrollerer denne ekstra verdien før endringen. Beskyttelsen må faktisk brukes for de aktuelle forespørslene.

MDN beskriver også kontroller med Fetch-metadata, altså nettleseropplysninger om konteksten til en forespørsel, og andre metoder som passer til forespørselstypen. Attributtet SameSite for informasjonskapsler er et ekstra beskyttelseslag. Samme site og samme origin (protokoll, vertsnavn og port) betyr ikke det samme; ulike underdomener kan tilhøre samme site. Et gyldig CSRF-token erstatter heller ikke kontrollen av om den innloggede personen har lov til å endre adressen.

Kilder