Cross-Site Request Forgery (CSRF) er en av de eldste måtene å utnytte et nettsteds sårbarheter på. Det retter seg mot webswitchere på serversiden som vanligvis krever autentisering som å logge på. Under et CSRF-angrep tar en angriper sikte på å tvinge offeret til å komme med en uautorisert, ondsinnet nettforespørsel på deres vegne.
Svak eller dårlig sikkerhetspraksis på nettstedet og uforsiktighet på brukerens vei er noen av de vanligste årsakene til et vellykket CSRF-angrep.
La oss se på hva et CSRF-angrep er, og de mulige måtene du kan forhindre deg selv fra som utvikler eller som bruker.
Hvordan påvirker CSRF-angrep deg?
En CSRF er et angrep som brukes til å implementere uautoriserte forespørsler under netthandlinger som krever brukerinnlogging eller autentisering. CSRF-angrep kan dra nytte av økt-ID-er, informasjonskapsler, samt andre serverbaserte sårbarheter for å stjele brukerens legitimasjon.
Aktivering av anti-CSRF-prosedyrer forhindrer for eksempel ondsinnede interaksjoner på tvers av domener.
Når denne barrieren bryter, kan en angriper raskt dra nytte av brukerens økt-ID via informasjonskapslene som er opprettet av brukerens nettleser og legge inn en skripttagg på det sårbare nettstedet.
Ved å manipulere en ID kan angriperen også omdirigere besøkende til en annen webside eller utnytte sosialtekniske metoder som e-post for å sende lenker, og oppfordrer offeret til å laste ned skadelig programvare.
Lær hvordan sosialteknikk kan påvirke deg, pluss vanlige eksempler som hjelper deg med å identifisere og holde deg trygg fra disse ordningene.
Når offeret utfører slike handlinger, sender det en HTTP-forespørsel til brukerens tjenesteside og autoriserer forespørselshandlingen til fordel for angriperen. Det kan være ødeleggende for en intetanende bruker.
Et vellykket CSRF-angrep kan få autoriserte brukere til å miste tilgangsinformasjonen til en angriper, spesielt under serverbaserte handlinger som passord eller forespørsler om endring av brukernavn. I verre scenarier tar angriperen over hele økten og handler på brukernes vegne.
CSRF har blitt brukt til å kapre fondstransaksjoner via internett, samt endre brukernavn og passord, noe som fører til at brukere mister tilgang til den berørte tjenesten.
Hvordan angripere kaprer øktene dine med CSRF: eksempler
Hovedmålene for CSRF-angrep er netthandlinger som involverer brukerens autentisering. For å lykkes trenger det utilsiktede handlinger fra offeret.
Under et CSRF-angrep er GET, SLETT og PUT-handlinger, samt sårbare POST-forespørsler hovedmålene til en angriper.
La oss se på betydningen av disse begrepene:
- FÅ: En forespørsel om å samle inn et resultat fra databasen; for eksempel Google-søk.
- POST: Vanligvis for å sende inn forespørsler via webskjemaer. En POST-forespørsel er vanlig under en brukers registrering eller pålogging, ellers kjent som autentisering.
- SLETT: For å fjerne en ressurs fra databasen. Du gjør dette når du sletter kontoen din fra en bestemt nettjeneste.
- SETTE: En PUT-forespørsel endrer eller oppdaterer en eksisterende ressurs. Et eksempel er endre Facebook-navnet ditt.
I praksis bruker angripere øktkapring for å sikkerhetskopiere et CSRF-angrep. Når du bruker denne kombinasjonen, kan angriperen bruke en kapring for å endre offerets IP-adresse.
Endringen i IP-adresse logger deretter offeret inn på et nytt nettsted der angriperen har satt inn en bedragersk lenke som sender inn et replikert skjema eller endret serverforespørsel de opprettet via CSRF.
En intetanende bruker mener da viderekoblingen kommer fra tjenesteleverandøren og klikker på lenken på angriperens nettside. Når de har gjort dette, sender hackere et skjema på sideinnlasting uten at de vet om det.
Eksempel på et GET Request CSRF Attack
Tenk deg å prøve å foreta en online betaling via en usikret e-handelsplattform. Plattformeierne bruker GET-forespørselen til å behandle transaksjonen din. At GET-spørringen kan se slik ut:
https://websiteurl/pay? beløp = $ 10 og selskap = [selskapets ABC-konto]
En kaprer kan stjele transaksjonen din enkelt ved å endre parametrene for GET-forespørselen. For å gjøre dette er alt de trenger å bytte navnet ditt for deres, og verre, endre beløpet du har tenkt å betale. De tilpasser deretter den originale spørringen til noe sånt som dette:
https://websiteurl/pay? beløp = $ 20000 og firma = [angriperens konto]
Når du klikker en lenke til den modifiserte GET-forespørselen, ender du ut med en utilsiktet overføring til angriperens konto.
Transaksjoner gjennom GET-forespørsler er dårlig praksis, og gjør aktiviteter sårbare for angrep.
Eksempel på et POST-forespørsel om CSRF-angrep
Imidlertid tror mange utviklere at bruk av POST-forespørsel er sikrere for å gjøre webtransaksjoner. Selv om det er sant, er dessverre en POST-forespørsel også utsatt for CSRF-angrep.
For å kapre en POST-forespørsel, er alt en angriper trenger din nåværende økt-ID, noen replikerte usynlige former, og noen ganger litt sosial ingeniørfag.
For eksempel kan et POST-forespørselsskjema se slik ut:
Imidlertid kan en angriper bytte legitimasjon ved å lage en ny side og endre skjemaet ovenfor til dette:
I den manipulerte formen setter angriperen verdien av beløpsfeltet til "30000", bytter mottakerens kontonummer til sitt, sender inn skjemaet ved sideinnlasting, og skjuler også skjemafeltene for brukeren.
Når de kaprer den aktuelle økten, starter transaksjonssiden en viderekobling til angriperens side, som ber deg om å klikke på en lenke de vet at du mest sannsynlig vil besøke.
Ved å klikke på dette lastes innleveringen av det replikerte skjemaet, som overfører pengene dine til angriperens konto. Det betyr at du ikke trenger å klikke på knapper som "send" for at transaksjonen skal finne sted, ettersom JavaScript automatisk gjør dette når du laster inn neste webside.
Alternativt kan en angriper også utarbeide en HTML-innebygd e-postmelding som ber deg om å klikke en lenke for å utføre den samme skjemainnsendelsen for sidelasting.
En annen handling som er sårbar for et CSRF-angrep er et brukernavn eller passordendring, et eksempel på en PUT-forespørsel. En angriper replikerer forespørselsskjemaet og erstatter e-postadressen din med deres.
Deretter stjeler de økten din og omdirigerer deg til en side eller sender deg en e-post som ber deg om å klikke på en tiltalende lenke.
Deretter sender du inn et manipulert skjema som sender lenken til tilbakestilling av passord til hackers e-postadresse i stedet for din. På den måten endrer hackeren passordet ditt og logger deg ut av kontoen din.
Hvordan forhindre CSRF-angrep som utvikler
En av de beste metodene for å forhindre en CSRF er å bruke ofte skiftende tokens i stedet for avhengig av øktcookies for å kjøre en tilstandsendring på serveren.
I slekt: Gratis guider for å forstå digital sikkerhet og beskytte personvernet ditt
Mange moderne backend-rammer gir sikkerhet mot CSRF. Så hvis du ønsker å unngå det tekniske ved å øke opp CSRF selv, kan du takle det enkelt ved å bruke rammeverk på serversiden som følger med innebygde anti-CSRF-tokens.
Når du bruker et anti-CSRF-token, genererer serverbaserte forespørsler tilfeldige strenger i stedet for de mer statiske sårbare økt-informasjonskapslene. På den måten kan du beskytte økten din mot å bli gjettet av kapreren.
Implementering av et tofaktorautentiseringssystem (2FA) for å kjøre transaksjoner på webappen din reduserer også sjansene for en CSRF.
Det er mulig å starte en CSRF via scripting på tvers (XSS), som innebærer skriptinjeksjon i brukerfelt som kommentarskjemaer. For å forhindre dette, er det god praksis å aktivere HTML automatisk flukt i alle brukerformularfelter på nettstedet ditt. Denne handlingen hindrer skjemafelt i å tolke HTML-elementer.
Hvordan forhindre CSRF-angrep som bruker
Som bruker av en nettjeneste som involverer autentisering, har du en del å spille for å forhindre at angripere stjeler legitimasjonen din og øktene dine også via CSRF.
Forsikre deg om at du bruker pålitelige webtjenester under aktiviteter som involverer pengeoverføring.
I tillegg til dette, bruk sikre nettlesere som beskytter brukere mot økteksponering, samt sikre søkemotorer som beskytter mot lekkasjer av søkedata.
I slekt: Beste private søkemotorer som respekterer dataene dine
Som bruker kan du også stole på tredjepartsautentisatorer som Google Authenticator eller dens alternativer for å bekrefte identiteten din på nettet.
Selv om du kan føle deg hjelpeløs for å stoppe en angriper fra å kapre økten din, kan du likevel hjelpe forhindre dette ved å sikre at nettleseren din ikke lagrer informasjon som passord og annen pålogging detaljer.
Beef up Your Web Security
Utviklere må regelmessig teste nettapper for sikkerhetsbrudd under utvikling og distribusjon.
Imidlertid er det vanlig å innføre andre sårbarheter mens du prøver å forhindre andre. Så vær forsiktig med å sikre at du ikke har brutt andre sikkerhetsparametere mens du prøver å blokkere en CSRF.
Lag et sterkt passord som du kan huske senere. Bruk disse appene til å oppgradere sikkerheten din med nye sterke passord i dag.
- Sikkerhet
- Online sikkerhet

Idowu brenner for alt smart teknologi og produktivitet. På fritiden leker han med koding og bytter til sjakkbrettet når han kjeder seg, men han elsker også å bryte seg fra rutinen en gang i blant. Hans lidenskap for å vise folk veien rundt moderne teknologi motiverer ham til å skrive mer.
Abonner på vårt nyhetsbrev
Bli med på vårt nyhetsbrev for tekniske tips, anmeldelser, gratis e-bøker og eksklusive tilbud!
Ett steg til…!
Bekreft e-postadressen din i e-posten vi nettopp sendte deg.