Introduktion til CSRF?

CSRF, XSRF eller Cross Site Reference Forgery er en type angreb, der opstår på et websted, når et ondsindet websted delegerer sin anmodning til et andet websted eller en webapplikation, der har en godkendt bruger. I denne type angreb, ved hjælp af offerets godkendte browser, kan en hacker få adgang til websitet helt eller delvist.

Hvordan virker det?

  • Det fungerer kun, hvis det potentielle offer er godkendt.
  • En angriber kan gå ind på et websted ved at omgå autentificeringsprocessen ved hjælp af et CSRF-angreb.
  • CSRF-angreb kommer i brug i scenarierne, hvor et offer med yderligere rettigheder udfører nogle handlinger, og andre ikke kan få adgang til eller udføre disse handlinger. F.eks. Onlinebank.

CSRF Attack udføres i to hoveddele

  • Det første trin er at tiltrække brugeren / offeret ved at klikke på et link eller indlæse en ondsindet side. Social engineering bruges af angriberen til at narre offeret.
  • Det andet trin er at narre offeret ved at sende en forfalsket anmodning til offerets browser. Dette link omdirigerer de legitime anmodninger til et websted. Angriberen har de værdier eller detaljer fra offeret, som han skal være på udkig efter, et offer ville have udfyldt det og troede, at anmodningen er legitim. Angriberen har også detaljerne om tilknyttede cookies med offerets browser.

Nøglebegreber af CSRF

  • En angriber sender ondsindede anmodninger til et websted, hvor brugeren besøger en angriber, mener, at offeret er valideret mod det pågældende websted.
  • Offerets browser er godkendt mod målsiden og bruges til at rute de ondsindede anmodninger til målsiden.
  • Her er et offer's browser eller et websted med CSRF-forebyggende metoder implementeret på det ikke sårbare, et berørt websted er den største sårbarhed.

Hvordan kan man forebygge forfalskning på tværs af websteder (CSRF)?

Der er en række CSRF-forebyggende metoder, få af dem er:

  • Log af webapplikationerne, mens du ikke arbejder på det.
  • Sikre dine brugernavne og adgangskoder.
  • Lad ikke browsere huske adgangskoden.
  • Mens du arbejder i et program og er logget på det, skal du undgå at gennemsøge.

Anti-CSRF-tokens

Den mest almindelige implementering for at stoppe Cross-site Request Forgery (CSRF) er at bruge et token, der er relateret til en valgt bruger og kan findes som en skjult form i hver tilstand, dynamisk form, der findes i online-applikationen.

1. Dette token, der omtales som en CSRF-token, fungerer som følger:

  • Klienten anmoder om en HTML-side, der har en form.
  • Som svar på denne anmodning tilføjer serveren to tokens. Den sender en som en cookie og opbevarer andre symboler i et formularfelt, der er skjult. Disse symboler genereres tilfældigt.
  • Klienten sender begge token tilbage til serveren, når han har indsendt formularen. Cookie-token sendes som et token, og form-token sendes inden i formulardataene
  • Serveren svarer ikke eller afviser anmodningen, hvis en anmodning ikke har begge anmodningerne.

Nu skal en angriber, der forsøger at forfalske anmodningen, gætte anti-CSRF-symbolerne sammen med brugerens godkendelsesadgangskoder. Disse tokens bliver ugyldigt efter et stykke tid, og når sessionen er slut. Dette gør angriberen gætte token hård.

2. Samme websteds cookies

Der er nogle cookies, der er knyttet til en oprindelse eller et websted, og når en anmodning sendes til den pågældende oprindelse, sendes cookies sammen med den. Sådanne anmodninger kaldes cross-origin-anmodninger. Mens denne proces sendes cookies til tredjepart, hvilket muliggør CSRF-angreb.

3. Samme Site Cookie-attribut

  • For at forhindre CSRF-angreb kan den samme site cookie-attribut bruges. Det deaktiverer tredjepartsbrug for en bestemt cookie.
  • Det gøres af serveren, mens cookien indstilles; den anmoder derefter browseren om kun at sende cookien, når brugeren bruger webapplikationen direkte.
  • Hvis nogen nu forsøger at anmode om noget fra webapplikationen, sender browseren ikke cookien.
  • Dog forhindrer CSRF-angrebet.

Dette har en begrænsning, de samme webstedscookies understøttes ikke i moderne browsere, mens webapplikationer, der bruger samme sted-cookies, ikke understøttes i ældre browsere.

Eksempler på CSRF

Nedenfor har vi forklaret nogle eksempler på CSRF:

1. Brug af GET-anmodninger:

Antag, at du har implementeret og designet et websted, banking.com, til at udføre handlinger såsom online-transaktioner ved hjælp af GET-anmodninger. Nu kan en smart angriber, der ved, hvordan man laver en ondsindet URL, bruge element for at få browseren til at indlæse siden stille

Eksempel på et HTML-billedelement, der indeholder en ondsindet URL:

2. En af nedenstående teknikker kan bruges til at gøre det samme:

  • Ved at sende en e-mail, der har HTML-indhold
  • Ved at plante et script eller en ondsindet URL på de sider, som en bruger sandsynligvis vil besøge, mens han udfører online-transaktioner.

3. Brug af POST-anmodninger

Der er en generel misforståelse omkring HTTP POST-anmodninger om, at CSRF-angreb kan forhindres ved at tillade HTTP POST-anmodninger, hvilket faktisk ikke er sandt. Angriberen kan oprette en formular ved hjælp af HTML eller JavaScript og bruge auto-indsende funktionalitet til at indsende POST-anmodningen uden at kræve, at brugeren skal klikke på en indsende-knap.

Konklusion

Cookies er sårbare, da de sendes automatisk med anmodningen, hvilket giver angribere mulighed for at implementere CSRF og sende ondsindede anmodninger. Effekten af ​​en CSRF-sårbarhed afhænger også af privilegiet af offeret, hvis cookie bliver sendt med angriberen's anmodning. Mens dataindhentning ikke er hovedomfanget af et CSRF-angreb, vil tilstandsændringer helt sikkert have en negativ indvirkning på webapplikationen, der udnyttes. Så det rådes til at forhindre, at dit websted bruger forebyggende metoder til at beskytte dit websted mod CSRF.

Anbefalede artikler

Dette har været en guide til hvad der er CSRF. Her drøftede vi Key Concept, Anti-CSRF Tokens, hvordan dets arbejde og eksempler på CSRF. Du kan også gennemgå vores andre foreslåede artikler for at lære mere -

  1. Hvad er Java Dvale?
  2. Hvad er ASP.NET?
  3. Hvad er AWS Lambda?
  4. Hvad er XHTML?

Kategori: