Basis van informatiebeveiliging
In een webapplicatie kan iemand zonder het wachtwoord te kennen inloggen door in het wachtwoordveld van het inlogscherm een tekenreeks zoals ' OR '1'='1 in te voeren. Hoe heet deze aanval?
- ASQL-injectie
- BCross-site scripting
- CDirectory traversal
Antwoord en toelichting tonen
Antwoord: A. SQL-injectie
SQL-injectie maakt misbruik van een webapplicatie die opdrachten voor de database (SQL-statements) opbouwt door de invoer van de gebruiker eenvoudig als tekenreeks aan te plakken. Wordt bijvoorbeeld ' OR '1'='1 ingevoegd op de plek waar de voorwaarde „het wachtwoord is gelijk aan 'invoer'” wordt opgebouwd, dan sluit het aanhalingsteken de tekenreeks af en wordt de altijd ware voorwaarde „of '1' is gelijk aan '1'” toegevoegd. Daardoor is aan de voorwaarde voldaan zonder het wachtwoord, en slaagt de inlog. Op dezelfde manier kunnen ook gegevens worden gestolen, gewijzigd of verwijderd. De fundamentele tegenmaatregel is een mechanisme dat invoer nooit als deel van de opdracht interpreteert: prepared statements met placeholders.