Websites kunnen onbedoeld kwetsbaar zijn voor aanvallen, waarbij de privacygegevens van klanten of burgers plotseling openbaar kunnen worden. Met SQL-injectie wordt kwaadaardige code ingebracht via de portal. De server voert elke binnen de syntax passende query uit, waardoor de server voor de gek wordt gehouden en gemanipuleerd.

Om dat te voorkomen moeten websitebouwers en -eigenaren geregeld hun websites controleren, zegt ook Rene Bladder van ict-adviesbureau Bladder op Management Weblog, naar aanleiding van het eerste lek dat Webwereld zaterdag publiceerde. Het controleren van de eigen website kan onder meer met de onderstaande tools.

1. LiLith

LiLith is een programmaatje geschreven in Perl door Michael Hendrickx. Hij wil ermee de beveiliging van webapplicaties verbeteren, zo schrijft hij op zijn site. “Dus alsjeblieft, misbruik het niet."

Volgens de maker is LiLith niet te vergelijken met zo geheten CGI-scanners. Lilith surft naar een website en gaat alle links na die het kan vinden. Op elke mogelijk invoerveld, zoals tekstboxjes, probeert het programma karakters te injecteren die een speciale betekenis hebben voor de onderliggende technologie, zoals sql.

Op zijn site geeft Hendrickx een uitgebreide handleiding, of meer een stappenplan voor het gebruik. Zo is het mogelijk een snelle “quick and dirty" scan te doen waarbij je niet echt veel te weten komt over de structuur van de site, behalve dat de site gevoelig is voor een sql-injectie. Een nadere scan met wat meer functies aangezet, vertelt dan ook meer over het wat waar en hoe van de kwetsbaarheden.

2. sqlmap

Sqlmap is een open source tool die bedoeld is voor testen van sites en hun achterliggende database. Het detecteert en exploiteert kwetsbaarheden en kan databaseservers volledig overnemen. De tool is enorm uitgebreid en de mogelijkheden om de reikwijdte van een kwetsbaarheid te onderzoeken zijn legio.

De tool biedt ondersteuning voor alle soorten SQL-databases, zoals MySQL, Oracle, PostgreSQL, MS SQL Server, Sybase en SAP MaxDB. Er is een uitgebreide zoekfunctie aanwezig om naar specifieke databasenamen te zoeken of specifieke tabellen of kolommen. Dat is handig als er wordt gezocht naar namen in combinatie met wachtwoorden. De tool is te vinden bij het bekende SourceForge.

3. Sqlninja

Een soortgelijke tool als sqlmap is sqlninja, eveneens te vinden bij SourceForge. De tool is alleen te gebruiken op Microsoft SQL Server. Het gebruik van Sqlninja kan leiden tot een volledige overname van de GUI op de database.

Het programma is geschreven in Perl, is open source en vrijgegeven onder de GPLv3. De gebruiker moet Linux, FreeBSD of Mac OS X als platform hebben, op Microsoft doet het programma het niet. Op de website van SourceForge is een uitgebreide handleiding te vinden, maar die komt ook mee bij het downloaden. Een waarschuwing van de maker: het opzetten en configureren van het programma is niet eenvoudig.

4. SQL Power Injector

SQL Power Injector is geschreven in .NET en met het programma kunnen kwetsbaarheden worden gevonden in MS SQL Server, Oracle, MySQL, Sybase en DB2. Maar de maker zegt dat de tool om kan gaan met elke DBMS.

De queries die het draait op de databases kunnen volledig worden geautomatiseerd. De resultaten worden getoond in een geïntegreerde browser. Er zit tevens een Firefox plugin bij. Voor beginners is er een handleiding met de eerste basisprincipes. Trucjes zijn te vinden in de Q&A. Volgens de maker is deze tool vooral handig als de onderzoeker gericht zoekt en geen grote datadump vraagt.

5. Havij

De laatste in deze korte opsomming van testtools voor sql-kwetsbaarheden is Havij. Een mooie walk-trough tutorial is te vinden op hungry-hackers.com. Daar staat tevens een video-tutorial. Volgens de makers onderscheidt Havij zich van andere tools door de methode die wordt gebruikt. Daarmee zou een succes in 95 procent van de gevallen gegarandeerd zijn. Door de geautomatiseerde settings is de tool ook voor amateurs makkelijk te gebruiken.