Een 17-jarige student heeft in twee dagen tijd beveiligingslekken gevonden op de websites van 160 webwinkels met een Thuiswinkel.org-certificaat. De organisatie achter het keurmerk zegt meer aandacht aan beveiliging te gaan besteden.
"Ik ben de ledenlijst van Thuiswinkel.org afgegaan op kwetsbare winkels", zegt communicatiestudent Daniël Heesen. In totaal heeft de onderzoeker 1200 winkels gecontroleerd. Heesen stelt in 160 van die websites lekken te hebben gevonden. "Ik heb elke website op één plek gecontroleerd", aldus de onderzoeker. Meestal ging het daarbij om het zoekveld, waarin hij strings invoerde die op beveiligingsproblemen kunnen duiden.
De gevonden kwetsbaarheden waren hoofdzakelijk cross site scripting-kwetsbaarheden, waarmee cookies kunnen worden achterhaald en malafide code kan worden uitgevoerd. Om deze kwetsbaarheden daadwerkelijk te exploiteren, moet een slachtoffer er nog wel toe worden verleid om op een speciaal geprepareerde link te klikken. Het gaat daarmee om een relatief onschuldige kwetsbaarheid, maar tussen de 143 websites die vatbaar waren voor xss zaten wel grote webwinkels, zoals BelCompany, V&D en BCC.
Ernstig waren de 17 sql injection-kwetsbaarheden die Heesen vond. Met sql-injectie, waarbij user-input als valide sql-queries wordt geïnterpreteerd, kan in theorie een hele database worden ontfutseld. Onder andere Baby-Dump.nl en Kabeltje.com bevatten dergelijke kwetsbaarheden, maar deze zijn inmiddels gedicht. "Sommige websites zijn nog steeds lek", zegt Heesen, maar een deel van de winkels heeft wel maatregelen genomen.
"Dit zijn waarschijnlijk niet eens de enige lekken in webwinkels, want ik heb bijvoorbeeld niet gecontroleerd op blinde sql-injecties", zegt Heesen. Bij blinde sql-injecties is een website wel kwetsbaar voor sql-injectie, maar worden de resultaten van een opdracht niet weergegeven. Een hacker kan dan via een omweg alsnog commando's uitvoeren.
De onderzoeker heeft zijn bevindingen gemeld aan de stichting Thuiswinkel.org, die een keurmerk voor webshops beheert. Heesen richtte zich bij zijn onderzoek op winkels met het Thuiswinkel.org-stempel. De organisatie heeft aangesloten webwinkels na overleg met Tweakers.net dinsdagmorgen op de hoogte gesteld. Wijnand Jongen, directeur van Thuiswinkel.org, zegt te hopen dat het onderzoek bijdraagt aan een betere beveiliging van webwinkels.
Heesen zegt dat hij naar aanleiding van een beveiligingsprobleem bij de webwinkel CheapTickets.nl benieuwd was welke webwinkels nog meer lek waren. Bij CheapTickets.nl wist een hacker gegevens van 715.000 klanten te stelen. Jongen zegt dat zijn organisatie al na het bekend worden van dat bewuste lek heeft besloten om meer aandacht aan de beveiliging van webwinkels te besteden. "We controleren onze leden nog niet op beveiliging, maar dat gaat veranderen", aldus Jongen. "Veiligheid van webwinkels is een groot goed."
De eisen waaraan webwinkels moeten voldoen om het Thuiswinkel.org-keurmerk te mogen dragen, worden aangevuld met eisen voor veiligheid. Thuiswinkels die zich niet aan de eisen houden, lopen het risico geschorst te worden of zelfs helemaal te worden geroyeerd. Hoe de websites worden gecontroleerd, is nog niet bekend. Jongen zegt dat de organisatie nog moet bekijken wat 'haalbaar' is.
De consumentenbond staat nu niet bekend als een organisatie met diepgaande technische kennis (no offense).Alle leden van Thuiswinkel.org worden jaarlijks gecertificeerd op naleving van de algemene voorwaarden zoals deze zijn vastgesteld door de Consumentenbond.
Onder andere Baby-Dump.nl en Kabeltje.com bevatten dergelijke kwetsbaarheden, maar deze zijn inmiddels gedicht. "Sommige websites zijn nog steeds lek", zegt Heesen, maar een deel van de winkels heeft wel maatregelen genomen.
De onderzoeker heeft zijn bevindingen gemeld aan de stichting Thuiswinkel.org, die een keurmerk voor webshops beheert.
Hij heeft dus eerst contact opgezocht en sommige sites hebben het lek zelfs al gedicht. Staat gewoon in het artikelDe organisatie heeft aangesloten webwinkels na overleg met Tweakers.net dinsdagmorgen op de hoogte gesteld.
dit suggereert dat er inderdaad een periode van feedback is geweest.maar deze zijn inmiddels gedicht
In totaal heeft de onderzoeker 1200 winkels gecontroleerd.
[Reactie gewijzigd door CRXDelSol op donderdag 3 november 2011 09:17]
Toch is dit handmatig stukjes query aan elkaar plakken waar het probleem zit, en casten of mysql_real_escape_string gebruiken pakt het probleem niet bij de bron aan. Op een bepaald moment vergeet je een (int) cast of een mysql_real_escape_string call en staat je database open. Prepared statements gebruiken is veel eenvoudiger en veiliger, en maakt je code ook nog eens veel overzichtelijker: In plaats van 10 strings met daartussen variabelen heb je gewoon 1 query en daarna vul je netjes alle waarden inSimpel voorbeeld van wat er minimaal in je query zou moeten zitten:
$sql = "INSERT INTO `tabelnaam` SET `veldnaam` = '" . mysql_real_escape_string( $testString ) . "',`nogeenveld` = " . (int)$testInteger;
Dit is toch wel het minimale wat je kan doen.
[Reactie gewijzigd door JanDM op donderdag 3 november 2011 09:26]
Het minimale wat je kan doen is geen SQL concatten maar gewoon geparameteriseerde queries gebruiken. Hoef je ook geen rare escape dingen te doen.Dit is toch wel het minimale wat je kan doen.
[Reactie gewijzigd door Houseoflegend op donderdag 3 november 2011 10:49]
160 Winkels contacteren en de antwoorden/uitgaande berichten per winkel apart te houden is 20x meer werk.Ik zeg ook niet dat hij het niet aan thuiswinkel.org had moeten melden meer dat een berichtje naar de webwinkel op zijn plaats is.
[Reactie gewijzigd door kimborntobewild op donderdag 3 november 2011 12:35]
[Reactie gewijzigd door Auroram op donderdag 3 november 2011 09:16]
Op dit item kan niet meer gereageerd worden.
Populair: Tablets Samsung Websites en communities Mobiele telefoons Google Apple Microsoft Sony Games Politiek en recht
© 1998 - 2013 Tweakers.net B.V. Contact Over Tweakers Jouw privacy Algemene voorwaarden Cookies
Tweakers wordt uitgegeven door De Persgroep en wordt gehost door True