SQL-Injecties: aanvallen op het hart van je site

Tobias Schüring Bijgewerkt op 15.01.2020
6 Min.
SQL-injecties

Naast Brute Force Aanvallen duik steeds weer opnieuw WordPress SQL-injecties op de lijst van de grootste bedreigingen voor WordPress sites. Dit zijn relatief eenvoudige manipulaties van de database van uw sites. Hackers kunnen toegang krijgen tot gevoelige gegevens of hun eigen admin-accounts opzetten en uw site naar believen manipuleren. We laten zien hoe de aanval werkt en waarom het zo gevaarlijk is.

Maart 2008: Hacker (inclusief een echte meesterbrein) te pakken krijgen 134 miljoen creditcardgegevens bij de Amerikaanse groep Heartland Payment Systems. Medio 2016: Vermoedelijk verwerven Russische hackers Toegang tot de database van geregistreerde kiezers van de Illinois State Board of Elections. Iets gelijkaardigs gebeurt in Arizona. Februari 2017: De Amerikaanse wapenhandelaar Airsoft GI wordt Gegevens gestolen van 65.000 gebruikersaccounts. Maart 2017: Vermeende Chinese hackers krijgen de persoonlijke gegevens van 4.000 klanten van een Koreaanse app te pakken en sturen deels obscene sms'jes naar de slachtoffers.

Al deze aanvallen hebben één ding gemeen: er zit een relatief eenvoudige hack achter die SQL-injectie wordt genoemd. Bij deze aanval krijgen hackers toegang tot de database en dus tot alle gebruikersgegevens van een pagina. In feite worden SQL-injecties daarom beschouwd als een van de grootste gevaren voor website-exploitanten. Ook en vooral voor webmasters die voornamelijk werken metWordPress .

En aangezien met WooCommerce name grotere en complexere winkels zonder problemen hebben kunnen WordPress functioneren, is het belangrijk om dit te begrijpen, hoe hoog het risico van een WordPress SQL-injectie is is en hoe dit Werk.

Hoe "gevaarlijk" zijn WordPress SQL-injecties?

De vraag naar de "gevaarlijkheid" van een WordPress hack kan niet worden beantwoord in de vorm van één enkele indicator. In plaats daarvan moeten ten minste twee aspecten in aanmerking worden genomen: In de eerste plaats de kans dat de eigen WordPress -WordPress projecten het slachtoffer kunnen worden van een dergelijke aanval, en de schade die een hack kan veroorzaken.

Op Brute Force Aanvallen Zo is het aantal aanvallen per maand zo hoog (soms meer dan 1 miljard gemeten aanvallen + geschat aantal niet-gemelde aanvallen) dat men eigenlijk kan zeggen dat elk WordPress -projectWordPress vroeg of laat wordt het doelwit van een dergelijke aanval. De schade die kan worden veroorzaakt door een succesvolle hack is veelvoudig. De meeste Brute Force aanvallen worden ook gebruikt om websites te kapen en te integreren in een botnet. Cross-site scripting komt daarentegen veel minder vaak voor, maar wordt vooral gebruikt om websites te maken met Besmettelijken kwaadaardige code.

De non-profit organisatie Open Web Application Security Project (OWASP) publiceert regelmatig een top 10 lijst van de grootste beveiligingsrisico's voor webapplicaties. En SQL-injecties nemen hier permanent de eerste plaats in, zelfs op de (zij het voorlopige) Lijst voor 2017.

Een grafiek van de top 10 lijst met de grootste veiligheidsrisico's voor webapplicaties, die regelmatig wordt gepubliceerd door de non-profit organisatie OWASP, is te zien. SQL-injecties nemen hier de eerste plaats in.
De non-profit organisatie OWASP publiceert regelmatig een top 10 lijst met de grootste beveiligingsrisico's voor webapplicaties. SQL-Injecties nemen hier regelmatig de eerste plaats in.

In feite, SQL-injecties zijn gekomen om te blijven. De hack is al meer dan 15 jaar bekend. En volgens het Akamai State of the Internet Security Report voor 2017 de frequentie van SQL-aanvallen is sinds het eerste kwartaal van 2016 met 28 procent toegenomen. In het eerste kwartaal van 2017 waren SQL-injecties de meest uitgevoerde hacks, goed voor 44 procent van de aanvallen. 

Hier wordt geïllustreerd dat in het eerste kwartaal van 2017 SQL-injectie de meest uitgevoerde hack is, met 44% van de aanvallen.
Volgens de Akamai State of the Internet Security Report 2017 was de SQL-injectie de meest uitgevoerde hack in het eerste kwartaal van 2017, met 44% van de aanvallen.

Wordfence, Fabrikant van een beveiligingssoftware voor WordPress , komt tot de conclusie dat SQL-injecties een groot gevaar zijn, vooral voor WordPress gebruikers. A Analyse van bijna 1.600 beveiligingslekken in Pluginsdie werden gerapporteerd over een periode van 14 maanden, toont duidelijk aan dat SQL-injecties het tweede meest voorkomende veiligheidsrisico voor WordPress sites zijn.

De grafiek laat duidelijk zien dat SQL-injecties het op één na meest voorkomende beveiligingsrisico voor WordPress pagina's zijn.
De grafiek laat zien dat SQL-injecties het op één na meest voorkomende beveiligingsrisico voor WordPress pagina's zijn.

Met al deze getallen moet je er rekening mee houden dat het aantal niet-gemelde gevallen veel hoger is - vaak worden SQL-aanvallen helemaal niet opgemerkt en komen ze in geen enkele statistiek voor.

De getallen laten zien dat WordPress SQL-injecties worden uitgevoerd volgens Brute Force Aanvallen en XSS-hiaten zijn een van de meest voorkomende soorten aanvallen van allemaal. SQL-injecties richten zich ook op een bijzonder gevoelig gebied van uw site: uw database. Vooral voor winkeleigenaren zijn deze hacks een existentiële bedreiging. Het is daarom belangrijk om te begrijpen hoe ze werken en wat je eraan kunt doen.

WordPress SQL-injecties richten zich op het hart van uw site: de database

Om te begrijpen hoe een SQL-injectie werkt, moet je de WordPress basisstructuur begrijpen. Als u dit al weet, kunt u Sla dit gedeelte veilig over.

De database is de basis voor elke WordPress installatie: alle inhoud wordt hier opgeslagen. Het CMS zelf maakt het vervolgens mogelijk om deze content te tonen en te bewerken. Dit WordPress is een MySQL database. SQL staat voor Structured Query Language, een volledige programmeertaal die gebruikt kan worden om structuren in een database te creëren en om gegevens in te voegen, te wijzigen en te verwijderen.

Telkens wanneer u een artikel schrijft, een nieuwe categorie aanmaakt, uw wachtwoord wijzigt of zelfs wanneer uw gebruikers een commentaar schrijven, worden deze nieuwe gegevens in de database opgeslagen. Dus hier is elke inhoud van uw website.

WordPress Elke keer dat een gebruiker uw site bezoekt en bepaalde inhoud opvraagt, haalt hij de juiste gegevens uit de database, voegt deze samen met PHP en maakt een HTML-document aan dat uiteindelijk naar de browser van de gebruiker wordt gestuurd. De gebruiker merkt niets van alle processen die tot dan toe plaatsvinden.

SQL-injecties smokkelen externe code in de database

Ook al heeft u nooit direct contact met de database, maar alleen met de WordPress backend: de database is het hart van uw website.

Maar zoals ik al zei, gebruikers zijn ook in staat om gegevens in de database in te voeren. Het schrijven van een commentaar, het aanmaken van een gebruikersaccount, het invullen van een contactformulier en het versturen ervan - al deze acties genereren gegevens die in de database worden opgeslagen.

Maar wat als iemand deze indirecte toegang tot uw database gebruikt om kwaadaardige code in de database te smokkelen? Dan heet dit een SQL-injectie.

Het idee erachter is niet eens zo ingewikkeld: Als er geen beveiligingsmaatregelen zijn, hoeft de hacker alleen maar SQL-code in te voeren in een formulierveld (bijvoorbeeld bij het schrijven van een commentaar). Deze bevat karakters die een speciale functie hebben voor de SQL interpreter - die verantwoordelijk is voor het uitvoeren van SQL-opdrachten in de database. Zulke speciale karakters, meta karakters genaamd, zijn bijvoorbeeld ; " en

Het CMS is van mening dat de gegevens onschadelijk zijn en geeft de invoer door aan de database met de opdracht om deze zoals gebruikelijk op te slaan. De SQL-interpreter herkent de code aan de meta-karakters als een actieaanvraag en voert het databasecommando uit.

Overigens geldt voor SQL-injecties hetzelfde als voor Brute Forceaanvallen: er zit bijna nooit een hacker alleen achter de computer en voert handmatig codes in formulieren in. Deze aanvallen worden ook uitgevoerd via geautomatiseerde botnets, die duizenden websites tegelijkertijd scannen op zwakke punten en toeslaan waar ze er een vinden.

Wat kan er nu gebeuren?

  • De hacker omzeilt alle authenticatiemechanismen of verschuilt zich achter de identiteit van een bestaande gebruiker om toegang te krijgen. Als een hacker bijvoorbeeld een nieuwe admin-account aanmaakt, spreekt men ook van een Bevoorrechte Escalatie-exploitatie.
  • Op die manier kan hij gegevens opsporen, wijzigen of verwijderen. Dit is vooral van belang als u een onlineshop runt en de betalingsgegevens van uw klanten tot uw beschikking heeft.
  • Hij kan de controle over uw gehele website en webruimte overnemen, bijvoorbeeld door in te loggen als admin en toegang te krijgen tot uw backend. Op deze manier heeft een hacker de volledige controle over uw site en kan hij deze misbruiken als een spam-slinger, kwaadaardige code introduceren of in een botnet invoegen.

Conclusie: WordPress SQL-injecties zijn zeer gevaarlijk vanwege de automatisering.

WordPress SQL-injecties behoren tot de gevaarlijkste hacks van allemaal. Ze zijn eenvoudig uit te voeren, meestal geautomatiseerd en kunnen enorme schade aanrichten: Vooral voor winkeleigenaren is het gevaar van SQL-injecties existentieel.

Daarom is het belangrijk om uw site dienovereenkomstig te beschermen: De gebruikersinvoer moet worden gecontroleerd en opgeruimd. U moet ook gegevens afschermen om te voorkomen dat er kwaadaardige code wordt uitgevoerd. Dit proces heet Data Sanitization and Validation en wordt bijvoorbeeld gebruikt in de WordPress Codex wordt in detail besproken. In een van de volgende artikelen gaan we echter dieper in op de details en laten we u zien hoe u kunt voorkomen dat kwaadaardige code actief wordt in uw database.

Uitgebreide beveiligingPlugins is ook hier van fundamenteel belang: ze zijn vooral in staat om geautomatiseerde aanvallen op uw pagina's, die de basis vormen voor veel hacks, te blokkeren.

Als systeembeheerder waakt Tobias over onze infrastructuur en vindt hij alle mogelijke manieren om de prestaties van onze servers te optimaliseren. Door zijn onvermoeibare inzet is hij vaak 's nachts te Slack vinden.

Gerelateerde artikelen

Commentaar op dit artikel

Schrijf een opmerking

Je e-mail adres wordt niet gepubliceerd. Verplichte velden zijn met * gemarkeerd.