VisionEars wordt Mulberries Agency

Wij gaan vanaf 1 september verder onder de naam Mulberries Agency. Naast de vertrouwde service die je van ons gewend bent hebben we ons ook gespecialiseerd op het gebied van Marketing Automation en Experiment Marketing.

Bekijk hier de website van Mulberries Agency Sluit popup

Download je gratis ebook: Marketing automation - 6 systemen vergeleken

Zoek je naar software om meer leads te converteren? Download onze gratis ebook waarin wij de 6 meest gebruikte softwarepakketten met elkaar vergelijken!

Download je gratis ebook: Infograpic stappenplan

Voor een geslaagde infographic heb je meer nodig dan goede data en een mooi design. Het moet een verhaal vertellen dat aansluit bij de doelgroep. Download ons heldere stappenplan en ga voor die perfecte infographic.

Download je gratis ebook: 10 tips voor een optimale webshop homepagina

De homepagina van je webshop is enorm belangrijk, want het is de first impression die telt. Een geoptimaliseerde homepagina is belangrijk voor het succes van je webshop.

Gratis consult: snelheidsoptimalisatie

Een snelle(re) website draagt bij aan de gebruikerservaring en levert meer conversies en dus omzet op. Wij helpen je graag op weg!

Wie onderstaand formulier invult, ontvangt een uitnodiging van een gratis consult. Tijdens dit gesprek bekijken we de betreffende website(s) en bespreken we samen alle mogelijkheden en valkuilen.

Gratis consult: Webshop optimalisatie

Voor een geslaagde webshop heb je meer nodig dan mooi design. Een goede gebruikerservaring, technisch in orde en zoekmachine geoptimaliseerd. Neem contact op voor een GRATIS consult. Wij nemen je webshop onder de loep zodat jij precies weet waar je kansen liggen en nog meer rendement uit je webshop kan halen.

Download jouw gratis ebook
  • Blog

Uw website beveiligen tegen hackers, database beveiliging (deel 4)
23
Apr 2012
Blog

Uw website beveiligen tegen hackers, database beveiliging (deel 4)

23 apr 2012 | Kevin | Blog

Hoe werkt SQL injection

Wanneer je input van een gebruiker van je site gebruikt om een query op een database uit te voeren, zou je zomaar het slachtoffer kunnen worden van een  SQL injection hack. Bij een SQL injection hack probeert de hacker via bijvoorbeeld een formulier informatie over je database te verzamelen. Nadat de hacker genoeg informatie heeft van verzameld over je database, bijvoorbeeld uit foutmeldingen, gebruikt hij deze kennis om zwakke plekken in de beveiliging van je formulier en database uit te buiten en zijn eigen SQL code te "injecteren" in je script.

Een goed voorbeeld is het onderstaande "standaard" inlogformulier met twee velden: gebruikersnaam en wachwoord.

Gebruikersnaam:
Wachtwoord:

De code om dit formulier te verwerken zou er als volgt uit kunnen zien:

$query = "SELECT * FROM users WHERE username = '".$_POST["username"]."' AND password = '".$_POST["password"]."'";

$result = mysql_query($query);

if (mysql_num_rows($result)>0)
{
  //Login gelukt!
}

Het is duidelijk dat er in het bovenstaande script totaal niet aan beveiliging is gedacht. De input die de gebruiker via het formulier naar het script stuurt wordt niet gefiltered, in plaats daarvan wordt de $_POST variabele rechtstreeks in de query gebruikt. Kijk eens wat er zou gebeuren als de hacker het volgende in het veld username zou invullen: "username' OR 1=1 --".

Met deze username en een leeg password veld zou de code op login.php het volgende uitvoeren:

$query = "SELECT * FROM users WHERE username = 'username' OR 1=1 --' AND password = '";

$_POST["username"] wordt zonder enig voorbehoud vanuit het formulier overgenomen in de query. Omdat de vergelijking 1=1 altijd "true" terug geeft worden alle records uit de tabel teruggegeven door deze query. Het gebruik van "--" aan het eind van de SQL injection zorgt ervoor dat de rest van de query door de database server als commentaar wordt gezien en zo geen foutmeldingen kan genereren.

Op deze manier kan de hacker dus heel eenvoudig toegang krijgen tot een afgeschermd gedeelte van de site. Zou hij nu ook nog beschikken over een van de gebruikersnamen, bijvoorbeeld die van de administrator, dan kan hij zich eenvoudig voordoen als deze administrator en bijvoorbeeld teksten op de site wijzigen of alle gebruikergegevens bekijken.

Hoe voorkom je SQL injection

SQL injection is te voorkomen door alle input, alles wat door een gebruiker naar jou script wordt gestuurd, goed te filteren en alle output, alles wat door jou script naar buiten wordt gestuurd, bijvoorbeeld naar een database server, goed te escapen. Je kunt hier meer over lezen in deel 2 van deze serie blogs (Uw website beveiligen tegen hackers, best practices). Als in de bovenstaande code bijvoorbeeld de functie "mysql_real_escape_string()" zou zijn gebruikt om "$_POST["username"]" te escapen, was deze SQL injection voorkomen, omdat de aanhalingstekend en comment uit de username gehaald zouden worden.

Session security

In ons volgende artikel in deze serie gaan we in op nog twee veel gebruikte hack technieken: Session fixation en session hijacking.

Kijk hieronder voor de overige artikelen in deze serie:

Deel deze blog post:

Kevin van Beers | Inbound marketing specialist

Kevin is inbound marketing specialist bij VisionEars. Naast social media heeft hij ook een passie voor marketing automation.

Neem contact met mij op Contact
blog comments powered by Disqus
© 2008-2019 - VisionEars B.V. - Meetbaar online succes