Wij gebruiken cookies om het gebruik van de website te analyseren en het gebruiksgemak te verbeteren. Lees meer over cookies.

Terug naar overzicht

Query Injection

Wat is query injection?

Query injection is een beveiligingslek waarbij aanvallers kwaadaardige code toevoegen aan database-queries of andere query-talen. Door speciale tekens of commando's in te voeren in formulieren of URL's, kunnen hackers ongeautoriseerde toegang krijgen tot jouw systemen. Deze kwetsbaarheid ontstaat wanneer gebruikersinvoer niet goed wordt gecontroleerd voordat deze wordt verwerkt in queries naar databases of andere systemen.

De meest bekende vorm is SQL injection, maar query injection komt ook voor bij andere query-talen zoals LDAP, GraphQL, NoSQL en XML. Ondanks dat deze kwetsbaarheid al decennia bekend is, blijft het een van de meest voorkomende beveiligingslekken in moderne applicaties.

Hoe werkt query injection?

Bij query injection manipuleert een aanvaller de normale werking van een query door onverwachte invoer te gebruiken. Stel je voor dat jouw website een inlogformulier heeft dat gebruikersnaam en wachtwoord controleert. Een aanvaller kan in plaats van een normale gebruikersnaam speciale SQL-code invoeren die de query verandert.

Een voorbeeld: waar de query normaal controleert of gebruikersnaam én wachtwoord kloppen, kan een aanvaller door slim gebruik van aanhalingstekens en SQL-commando's de query zo aanpassen dat het wachtwoord niet meer wordt gecontroleerd. Hierdoor krijgt de aanvaller toegang zonder het juiste wachtwoord te kennen.

Verschillende vormen van query injection

SQL injection is de bekendste vorm, waarbij aanvallers SQL-databases aanvallen. Ze kunnen hiermee gegevens stelen, wijzigen of verwijderen. LDAP injection richt zich op directory services en kan leiden tot ongeautoriseerde toegang tot gebruikersaccounts. GraphQL injection is een nieuwere variant die API's aanvalt die GraphQL gebruiken voor data-uitwisseling.

"Bij elk pentest die we uitvoeren, testen we standaard op query injection kwetsbaarheden. Je zou versteld staan hoe vaak we nog steeds SQL injection vinden, zelfs bij moderne applicaties. Mijn tip: implementeer altijd prepared statements én input validatie - gebruik nooit maar één verdedigingslijn."

Arno - Directeur van Cyber Cloud

Waarom is query injection gevaarlijk?

De gevolgen van een succesvolle query injection aanval kunnen verwoestend zijn. Aanvallers kunnen complete databases met klantgegevens, wachtwoorden of financiële informatie stelen. Ze kunnen ook gegevens wijzigen of verwijderen, wat tot grote schade en dataverlies kan leiden. In sommige gevallen kunnen aanvallers zelfs volledige controle over de server krijgen.

Voor bedrijven betekent dit niet alleen financiële schade, maar ook reputatieschade en mogelijk boetes vanwege datalekken onder de AVG-wetgeving.

Hoe voorkom je query injection?

De belangrijkste maatregel tegen query injection is het gebruik van prepared statements of parameterized queries. Deze techniek scheidt de query-structuur van de gebruikersinvoer, waardoor kwaadaardige code niet kan worden uitgevoerd. Daarnaast is input validatie essentieel: controleer altijd of invoer voldoet aan verwachte formats en filter gevaarlijke karakters.

Andere belangrijke maatregelen zijn het beperken van database-rechten, het regelmatig updaten van software en het uitvoeren van security awareness trainingen voor je ontwikkelteam. Ook het principe van 'least privilege' toepassen helpt: geef applicaties alleen de minimaal noodzakelijke rechten op de database.

Query injection blijft een serieus risico voor moderne applicaties, ondanks dat de technieken om het te voorkomen al jaren bekend zijn. Door de juiste beveiligingsmaatregelen te implementeren en je team bewust te maken van de risico's, kun je jouw applicaties effectief beschermen tegen deze veelvoorkomende aanvalstechniek.

Wil je zeker weten dat jouw applicaties veilig zijn tegen query injection? Onze specialisten voeren graag een grey box pentest uit om kwetsbaarheden op te sporen voordat kwaadwillenden dat doen.


Onze klanten
ctp-eu
dhl
schipper
oaz
vtm
mxmendix
OHH_logo_rgb_white
hbmmachines
montalogo_wit