A CSRF-aanval (of Cross-Site Request-fraude) is een kwaadaardige techniek waarbij een aanvaller een gebruiker aanzet tot uitvoeren, zonder zijn medewetenongewenste acties op een webtoepassing waaraan het is gekoppeld. al geverifieerd. Het doel is om vertrouwen afleiden die de applicatie aan de gebruiker toekent, door gebruik te maken van de koekjes of identifiers die zijn opgeslagen in de browser.
- CATEGORIE : 🔴 Computeraanval
- FREQUENTIE : 🔥🔥🔥
- GEVAARLIJK : 💀💀💀
- MOEILIJKHEID VAN UITROEIING : 🧹🧹🧹
Hoe het werkt
- Typisch scenario :
- De gebruiker is verbonden met een site (bijv. online bankieren, sociale netwerken).
- Ze bezoeken een kwaadaardige site of klikken op een link met een valstrik.
- Deze link activeert een HTTP-verzoek naar de doelapplicatie, door de sessiecookies van de gebruiker te gebruiken.
- De applicatie behandelt het verzoek als legitiem, omdat het afkomstig is van een geauthenticeerde browser.
- Een concreet voorbeeld :
<formulier actie="https://banque.com/transfer" methode="POST"> <invoer type="verborgen" naam="bedrag" waarde="1000"> <invoer type="verborgen" naam="account" waarde="AANVALLER_ACCOUNT"> </formulier> <script>document.formulieren[0].indienen();</script>
Als de gebruiker verbonden is met
bank.com
verzoek maakt €1.000 over zonder haar toestemming
Noodzakelijke voorwaarden
- Verificatie via cookies de applicatie cookies gebruikt om sessies te beheren
- Geen CSRF-bescherming geen willekeurige tokens (CSRF-token) is niet nodig om gevoelige verzoeken te valideren
- Voorspellende zoekopdrachten de parameters van de actie (bijv. URL, formuliervelden) kan worden geraden
Mogelijke acties via CSRF
- Wachtwoorden of e-mailadressen wijzigen
- Publicatie van ongewenste inhoud (bijv. sociale netwerken)
- Bankoverschrijvingen, ongeautoriseerde aankopen
- Accounts of gegevens verwijderen
🛡️ Beschermingsmethoden
- CSRF-tokens :
- Genereer een uniek, willekeurig token voor elk formulier of verzoek.
- De server controleert dit token voordat de actie wordt uitgevoerd.
- SameSite Cookies :
- Definieer de
SameSite=Strict
ofLax
om te voorkomen dat cookies worden verzonden in cross-site verzoeken.
- Definieer de
- De verwijzer/oorsprong controleren :
- Controleer of het verzoek van hetzelfde domein komt als de applicatie.
- Herkenning door de gebruiker :
- Een wachtwoord aanvragen of 2FA voor kritieke acties.
Voorbeeld
- In 2018 is een kwetsbaarheid CSRF is gevonden in Drupalwaardoor aanvallers administratieve instellingen kunnen wijzigen.
⚠️ Verschil tussen CSRF en XSS
- CSRF : maakt misbruik van het vertrouwen van een site in de gebruiker.
- XSS maakt misbruik van het vertrouwen van een gebruiker in een site (injectie kwaadaardige code).
Statistieken
- OWASP Stond tot 2017 in de top 10 van webrisico's, maar komt tegenwoordig minder vaak voor dankzij moderne bescherming.
- Bug premie Premies voor CSRF-kwetsbaarheden variëren tussen 500 en €5.000 volgens kriticiteit.