Hvad er forfalskning af anmodninger på tværs af websteder?

click fraud protection

CSRF eller Cross-Site Request Forgery er en webstedssårbarhed, hvor en angriber kan forårsage, at en handling sker i et offers session på et andet websted. En af de ting, der gør CSRF til så stor en risiko, er, at det ikke engang kræver brugerinteraktion, alt hvad der er nødvendigt er, at offeret kan se en webside med udnyttelsen i den.

Tip: CSRF udtales generelt enten bogstav for bogstav eller som "sea surf".

Hvordan fungerer et CSRF-angreb?

Angrebet involverer, at angriberen opretter et websted, der har en metode til at lave en anmodning på et andet websted. Dette kan kræve brugerinteraktion, såsom at få dem til at trykke på en knap, men det kan også være interaktionsfrit. I JavaScript er der måder at få en handling til at ske automatisk. For eksempel vil et nul gange nul pixel billede ikke være synligt for brugeren, men det kan konfigureres, så dets "src" sender en anmodning til et andet websted.

JavaScript er et sprog på klientsiden, det betyder at JavaScript-kode køres i browseren i stedet for på webserveren. Takket være denne kendsgerning er den computer, der laver CSRF-anmodningen, faktisk offerets. Det betyder desværre, at anmodningen er lavet med alle de tilladelser, som brugeren har. Når først det angribende websted har narret offeret til at fremsætte CSRF-anmodningen, kan anmodningen i det væsentlige ikke skelnes fra den bruger, der fremsætter anmodningen normalt.

CSRF er et eksempel på et "forvirret stedfortrædende angreb" mod webbrowseren, da browseren bliver narret til at bruge sine tilladelser af en angriber uden disse privilegier. Disse tilladelser er dine sessions- og autentificeringstokens til målwebstedet. Din browser inkluderer automatisk disse oplysninger i enhver anmodning, den fremsætter.

CSRF-angreb er noget komplekse at arrangere. Først og fremmest skal målwebstedet have en formular eller URL, der har bivirkninger såsom sletning af din konto. Angriberen skal derefter lave en anmodning for at udføre den ønskede handling. Endelig skal angriberen få offeret til at indlæse en webside med udnyttelsen i den, mens de er logget ind på målwebstedet.

For at forhindre CSRF-problemer er det bedste, du kan gøre, at inkludere et CSRF-token. Et CSRF-token er en tilfældigt genereret streng, der er indstillet som en cookie, værdien skal inkluderes i hvert svar sammen med en anmodningsheader, som inkluderer værdien. Selvom et CSRF-angreb kan inkludere cookien, er det ikke muligt at bestemme værdien af ​​CSRF-tokenet for at indstille headeren, og så vil angrebet blive afvist.