A injectie SQL SQL-injectie (SQLi) is een kwaadaardige techniek die door aanvallers wordt gebruikt om de beveiliging van een webapplicatie in gevaar te brengen.
Dit bestaat uit het invoegen van kwaadaardige SQL-code in de invoervelden van een webtoepassing om de onderliggende database te manipuleren.. Elle exploite les kwetsbaarheden dans la façon dont l’application traite les entrées utilisateur et construit ses requêtes SQL.
SQL-injectie is een van de vele soorten kwaadaardige injecties.
Hoe het werkt
Het basisprincipe is als volgt:
- De aanvaller voegt kwaadaardige SQL-code in een invoerveld (formulier, URL, enz.) in.
- De applicatie integreert deze code zonder deze correct te filteren in de SQL-query
- De database voert het gewijzigde verzoek uit, waardoor de aanvaller toegang krijgt tot de gegevens of deze kan manipuleren.
Voorbeelden
Hier zijn enkele veelvoorkomende voorbeelden van SQL-injecties:
- Authenticatie omzeilen :
sql
SELECT * VAN gebruikers WAAR gebruikersnaam = admin --' AND wachtwoord = 'wachtwoord
- Le
--
geeft commentaar op de rest van het verzoek, waardoor je verbinding kunt maken zonder wachtwoord. - Gegevensextractie :
sql
SELECT * VAN gebruikers WAAR id = 1 UNIE SELECT gebruikersnaam, wachtwoord VAN gebruikers --
- Deze injectie herstelt alle gebruikersnamen en wachtwoorden.
Wat eraan te doen
Er zijn een aantal goede praktijken die je kunt volgen om jezelf te beschermen:
- Geparameteriseerde query's of opgeslagen procedures gebruiken
- Alle gebruikersgegevens valideren en filteren
- Het principe van de minste rechten toepassen voor databaseaccounts
- Tools gebruiken om SQL-injecties op te sporen en te voorkomen
- Ontwikkelaars trainen in goede beveiligingspraktijken