Inhoudsopgave:
Definitie - Wat betekent SQL Injection Attack?
Een aanval met SQL-injectie is een poging om SQL-opdrachten uit te geven aan een database via een website-interface. Dit is om opgeslagen database-informatie te verkrijgen, inclusief gebruikersnamen en wachtwoorden.
Deze techniek voor code-injectie maakt gebruik van beveiligingsproblemen in de databaselaag van een toepassing. Hackers maken gebruik van slecht gecodeerde websites en web-apps om SQL-opdrachten te injecteren, bijvoorbeeld door gebruik te maken van een inlogformulier om toegang te krijgen tot de gegevens die zijn opgeslagen in de database.
In eenvoudige bewoordingen vinden SQL-injectieaanvallen plaats omdat de velden voor gebruikersinvoer de SQL-instructies toestaan om door de database te gaan en er direct naar te zoeken.
Techopedia verklaart SQL Injection Attack
Moderne websites omvatten inlogpagina's, zoekpagina's, ondersteunings- en productaanvraagformulieren, winkelwagentjes, feedbackformulieren enzovoort.
Deze websitefuncties zijn allemaal kwetsbaar voor SQL-injectieaanvallen vanwege de beschikbaarheid van invoervelden voor gebruikers. Een aanvaller kan gemakkelijk willekeurige SQL-instructies uitvoeren als deze websites vatbaar zijn voor SQL-injectie. Dit kan de integriteit van de databases aantasten en gevoelige gegevens blootleggen.
Op basis van de gebruikte back-enddatabase kunnen kwetsbaarheden voor SQL-injectie resulteren in verschillende niveaus van injectieaanvallen. Aanvallers kunnen bestaande zoekopdrachten manipuleren, subselecties gebruiken of extra zoekopdrachten toevoegen. In sommige gevallen is het zelfs mogelijk om bestanden in te lezen of weg te schrijven. De aanvallers kunnen ook shell-opdrachten uitvoeren op het rootbesturingssysteem (OS).
Sommige SQL-servers zoals Microsoft SQL Server bevatten opgeslagen en uitgebreide procedures. Als een SQL-injectieaanvaller toegang krijgt tot deze procedures, kan dit tot zeer ongewenste resultaten leiden. Onjuist gecodeerde websites en webapps zijn altijd vatbaar voor dit soort aanvallen.
De ideale manier om injectieaanvallen te voorkomen, is door de kwetsbaarheden van websites en web-apps te detecteren voordat ze live gaan. Er zijn geautomatiseerde SQL-injectiescanners die de penetratietesters helpen de kwetsbaarheid van websites en web-apps voor potentiële SQL-injectieaanvallen te verifiëren.
Dit helpt de webbeheerder om de kwetsbare code onmiddellijk te repareren en de websites te beschermen tegen mogelijke SQL-injectieaanvallen.
