SQL Injection

Wat is het?

SQL-injectie is een code-injectie-aanval waarbij kwaadaardige SQL-statements worden ingevoegd in invoervelden, waardoor aanvallers mogelijk databasedata kunnen lezen, wijzigen of verwijderen, authenticatie kunnen omzeilen, of zelfs systeemcommando's kunnen uitvoeren. Het exploiteert applicaties die gebruikersinvoer direct concateneren in SQL-queries in plaats van geparametriseerde queries of prepared statements te gebruiken.

Praktisch voorbeeld

Een kwetsbaar loginformulier zou een query kunnen bouwen door strings te concateneren: SELECT FROM users WHERE username gelijk is aan de input AND password gelijk is aan de input. Een aanvaller die een enkele quote invoert gevolgd door OR 1=1 als gebruikersnaam maakt de WHERE-clausule altijd waar, waardoor authenticatie wordt omzeild. De fix is prepared statements gebruiken waar gebruikersinvoer als parameters wordt doorgegeven.

Test je kennis

Hoe voorkom je SQL-injectie?

Vraag het aan Lex
Lex kent de context van deze term en helpt je sneller met gerichte uitleg, voorbeelden en extra context.
Tip: Lex antwoordt kort in de widget. Voor meer detail, ga naar full screen modus.

Leer onze taal

Leer deze termen van echte professionals en verdiep je skills bij KdG MCT.

Studeren bij KdG