Cyberpediadoor Brain
NLDEENESFRIT

CSRF: de actie die buiten u om wordt afgedwongen

Een besmette site of een bericht kan uw browser namens u laten handelen bij een dienst waar u bent ingelogd. Zo werkt het, en dit helpt ertegen.

In 30 seconden

Waar het gebeurt
Bij de meeste webdiensten zonder CSRF-bescherming, wanneer u in dezelfde browser een besmette link of pagina opent1.
Wat de aanvaller wil
Een actie uitlokken die iets wijzigt, zoals een overschrijving of een wachtwoordwijziging1.
De reflex
Log uit bij een dienst zodra u er klaar mee bent2.
Waar de zwakke plek vandaan komt
Van de applicatie, niet van de gebruiker2.

Waar gaat het over

CSRF (Cross-Site Request Forgery) is de Engelse naam voor een aanval die een gebruiker ongewilde handelingen laat uitvoeren in een webapplicatie waarin die al is ingelogd1. De aanvaller heeft het wachtwoord van het slachtoffer niet nodig: hij laat de browser van het slachtoffer handelen.

Voor een medewerker is het typische scenario eenvoudig. In een tabblad staat een mailbox of een bankwebsite open. Een link uit een e-mail of een chatbericht leidt naar een andere pagina, en die pagina stuurt op de achtergrond een verzoek naar de dienst waar u nog bent ingelogd1.

Directe vragen

Steelt CSRF mijn wachtwoord?

Nee, niet als zodanig. De aanval leent de identiteit en de rechten van het slachtoffer om namens hem een actie uit te voeren1. Hij richt zich op acties die de toestand van de dienst veranderen, zoals het wijzigen van het e-mailadres of het wachtwoord, of het kopen van iets. Het slachtoffer dwingen gegevens op te vragen levert de aanvaller niets op, want het antwoord gaat naar het slachtoffer, niet naar hem1.

Waarom gehoorzaamt de dienst aan een verzoek dat ik niet wilde?

Omdat hij het niet van een legitiem verzoek kan onderscheiden. Bij de meeste sites bevatten de verzoeken van de browser automatisch de gegevens die bij de site horen, zoals de sessiecookie1. Is de gebruiker ingelogd, dan kan de site het vervalste verzoek dus niet scheiden van het echte1. De CWE omschrijft de zwakte zo: de applicatie controleert niet, of kan niet controleren, dat een verzoek bewust is ingediend door de gebruiker die het heeft verstuurd5.

Ben ik beschermd als de dienst HTTPS gebruikt?

Nee. Volgens OWASP beschermt HTTPS alleen niet tegen CSRF, hoewel het een voorwaarde blijft om de andere maatregelen betrouwbaar te maken1.

Ligt het probleem bij mij of bij de applicatie?

Bij de applicatie. Microsoft zegt het ronduit: CSRF-kwetsbaarheden zijn in wezen een probleem van de webapplicatie, niet van de eindgebruiker2. Wat de gebruiker doet, beperkt alleen de blootstelling: uitloggen als u klaar bent en de cookies van de browser regelmatig wissen2.

1In de huid van de aanvaller1 min

De aanvaller begint met het opsporen van een verzoek dat iets wijzigt bij een dienst. Daarna maakt hij een adres of een script dat dit verzoek met zijn eigen waarden nabootst. OWASP geeft het voorbeeld van een fictieve bank: het legitieme verzoek maakt 100 dollar over aan een begunstigde, en de aanvaller vervangt de begunstigde door zichzelf en verhoogt het bedrag1.

Dan moet het slachtoffer dat verzoek nog laden terwijl het is ingelogd. Twee methoden worden genoemd: een ongevraagde e-mail met HTML-inhoud, of een val op pagina's die het slachtoffer waarschijnlijk bezoekt terwijl het zijn onlinedienst gebruikt1.

De aanval kan ook op de kwetsbare site zelf worden opgeslagen, bijvoorbeeld in een veld dat HTML accepteert. Dan wordt hij waarschijnlijker: het slachtoffer bekijkt liever een pagina van die site dan een willekeurige pagina op internet, en is daar vanzelfsprekend al ingelogd1.

2Wat u op het scherm ziet1 min

Vaak niets. De besmette link kan zijn vermomd als een gewone link, met een tekst als "bekijk mijn foto's". Hij kan ook de vorm hebben van een nepafbeelding van grootte nul: staat die in een e-mail, dan ziet het slachtoffer niets, maar de browser verstuurt het verzoek toch, zonder enig zichtbaar teken dat de handeling heeft plaatsgevonden1.

Fragment
Geneutraliseerde illustratie, geen echt adres.
Vermomde link: weergegeven tekst "Bekijk mijn foto's", verborgen adres
hxxp://banque[.]exemple[.]invalid/virement?dest=[rekening van de aanvaller]&montant=[hoog]
Variant: onzichtbare afbeelding in een e-mail, geladen zonder klik.

Verwacht de dienst een POST-verzoek, dan kan de aanvaller op zijn site een formulier met verborgen velden plaatsen. Het slachtoffer denkt dat het iets anders doet en klikt, of een script verstuurt het automatisch zodra de pagina laadt1. In beide gevallen is de getoonde pagina alledaags en vindt de actie elders plaats.

3Onder de motorkapIT-teams2 min

Het mechanisme berust op normaal gedrag van browsers. Ze slaan de cookies op die een applicatie uitgeeft, waaronder de sessiecookies van ingelogde gebruikers, en ze sturen bij elk verzoek alle cookies van een domein mee, hoe dat verzoek in de browser ook is ontstaan2. Cookies zijn niet het enige probleem: ook authenticatie van het type Basic en Digest is kwetsbaar, omdat de browser de inloggegevens automatisch opnieuw verstuurt tot het einde van de sessie2.

Volgens OWASP werken verschillende verdedigingsideeën niet1:

  • een geheime cookie, want alle cookies worden bij elk verzoek meegestuurd;
  • alleen POST-verzoeken accepteren, want een verborgen formulier volstaat om er een te vervalsen;
  • transacties in meerdere stappen, zolang de aanvaller elke stap kan voorspellen;
  • alleen de Referer-header controleren, want die kan worden vervalst en ontbreekt soms om privacyredenen.

De aanbevolen beveiligingen aan de kant van de applicatie zijn de volgende.

  • Eerst nagaan of het framework al CSRF-bescherming biedt, en die gebruiken. Zo niet, anti-CSRF-tokens toevoegen aan alle verzoeken die de toestand wijzigen en ze aan de serverkant valideren3. Zonder token kan de aanvaller geen geldig verzoek maken3.
  • Voor software zonder toestand een double-submit-cookie gebruiken, bij voorkeur ondertekend3.
  • Het attribuut SameSite instellen op sessiecookies3. Bij de waarde strict stuurt de browser de cookie niet mee bij verzoeken tussen sites, ook niet bij het volgen van een gewone link. Bij lax stuurt hij de cookie wel mee voor een link die vanaf een andere site wordt gevolgd, maar houdt hij hem achter bij methoden die aan CSRF zijn blootgesteld, zoals POST4. Bij none is er geen enkele bescherming4.
  • De herkomst controleren met standaardheaders, met name Sec-Fetch-Site, dat sinds maart 2023 door alle grote browsers wordt ondersteund3.
  • Geen GET-verzoeken gebruiken voor handelingen die de toestand wijzigen3.

Deze maatregelen hebben grenzen. SameSite=Lax laat GET-verzoeken voor navigatie op het hoogste niveau door: een eindpunt dat de toestand via GET wijzigt, blijft kwetsbaar2. Oudere browsers passen SameSite mogelijk niet toe2. En een XSS-kwetsbaarheid kan alle anti-CSRF-beveiligingen omzeilen; de Samy-worm gebruikte bijvoorbeeld een XMLHttpRequest om het CSRF-token te bemachtigen en verzoeken te vervalsen13. Het standaardgedrag van SameSite verschilt: in december 2024 was lax de standaardwaarde van Chrome, Edge en Opera, maar van geen enkele versie van Firefox of Safari, vandaar het advies om de waarde expliciet in te stellen4.

4IncidentanalysesEchte gevallen1 min

2008: de uTorrent-exploit

OWASP noemt als echt voorbeeld van een CSRF-aanval op een applicatie die met GET-verzoeken werkt een exploit tegen uTorrent uit 2008. Die is op grote schaal gebruikt om malware te downloaden1. De bron zegt niet meer: niet hoeveel slachtoffers er waren, en niet hoe de exploit werd verspreid.

Door de CWE gecatalogiseerde kwetsbaarheden (identifiers van 2004 tot 2009)

CWE-352 geeft een gekozen lijst van waargenomen voorbeelden, die niet volledig is5. Verschillende berusten op een simpele URL in een img-tag: CVE-2004-1703 en CVE-2004-1995 maken het mogelijk gebruikersaccounts toe te voegen, CVE-2004-1842 om beheerdersrechten te krijgen5. Andere raken het beheer zelf: CVE-2009-3520 maakt het mogelijk het wachtwoord van de beheerder te wijzigen, en CVE-2009-3759 om wachtwoorden te wijzigen of een virtuele machine uit te schakelen via een webinterface5.

Fiche

Identificatie
CP-053
Vleugel
1. Aanvallen en technieken
Brain-competentie
Hacking begrijpen (understand_hacking)
Brain-reflex
cr-018
Schema
G3 · Anatomische doorsnede
Talen
de, en, es, fr, it, nl
Bronnen
5 bronnen gecontroleerd op 3 november 2026
Bronnen5 bronnen
  1. OWASP, “Cross Site Request Forgery (CSRF) | OWASP Foundation”. https://community.owasp.org/attacks/csrf (geraadpleegd op 3 november 2026)
  2. Microsoft, “Prevent Cross-Site Request Forgery (XSRF/CSRF) attacks in ASP.NET Core”. https://learn.microsoft.com/en-us/aspnet/core/security/anti-request-forgery?view=aspnetcore-10.0 (geraadpleegd op 3 november 2026)
  3. OWASP, “Cross-Site Request Forgery Prevention - OWASP Cheat Sheet Series”. https://cheatsheetseries.owasp.org/cheatsheets/Cross-Site_Request_Forgery_Prevention_Cheat_Sheet.html (geraadpleegd op 3 november 2026)
  4. OWASP, “SameSite | OWASP Foundation”. https://community.owasp.org/SameSite (geraadpleegd op 3 november 2026)
  5. MITRE, “CWE - CWE-352: Cross-Site Request Forgery (5.0)”. https://cwe.mitre.org/data/definitions/352.html (geraadpleegd op 3 november 2026)

Dit artikel citeren

Brain, “CSRF: de actie die buiten u om wordt afgedwongen”, Cyberpedia, 2026. https://startbrain.io/cyberpedia/nl/articles/csrf-afgedwongen-verzoek-tussen-sites/

BibTeX
@misc{brain_cp053_nl_2026,
  author = {Brain},
  title = {CSRF: de actie die buiten u om wordt afgedwongen},
  year = {2026},
  howpublished = {Cyberpedia},
  url = {https://startbrain.io/cyberpedia/nl/articles/csrf-afgedwongen-verzoek-tussen-sites/},
  note = {CC BY 4.0}
}