SQLInjection

Wat is SQlInjection?

Door een slechte configuratie van je SQL-code kan het zijn dat het mogelijk is om schadelijke code doorgeven via een toepassing naar een ander systeem. Zo kunnen volledige scripts geïnjecteerd worden via een toepassing zoals bv. Juice Shop en ook uitgevoerd worden. Om misbruik te maken van een SQL-injectiefout, moet de aanvaller dus een parameter vinden die de webtoepassing doorgeeft aan een database. Door zorgvuldig kwaadaardige SQL-opdrachten in de inhoud van de parameter in te bedden, kan de aanvaller de webtoepassing misleiden om een ​​kwaadaardige query door te sturen naar de database. Deze aanvallen zijn niet moeilijk te proberen. De gevolgen zijn bijzonder schadelijk, aangezien een aanvaller de inhoud van de database kan verkrijgen, beschadigen of vernietigen.

Hoe kan je het voorkomen?

  • Input validation: Valideer of de input verwacht wordt.

  • Parametrized queries: een manier om een ​​SQL-instructie vooraf te compileren, zodat je vervolgens de parameters kunt opgeven om de instructie uit te voeren. Met deze methode kan de database de code herkennen en onderscheiden van een SQlInjection.