Concreet voorbeeld van voorverkenning webaanval in 2022

Blog  — wo. 19 okt. 2022

Er wordt geschat dat 60% van al het webverkeer op internet gaat om bots, oftewel, robots. Sommige zijn aardig, andere zijn kwaadaardig. Voorbeelden van aardige bots zijn bijvoorbeeld bekende grote zoekmachines. Die komen langs om uw website op te nemen in hun zoekresultaten. Een voorbeeld van een kwaadaardige bot gaan we in dit artikel laten zien.

Deze keer belichten we een concreet webvoorbeeld om te laten zien wat er dagelijks gebeurt. Vaak buiten het zicht van website of webwinkel-eigenaar om. Forendox ving deze poging in de afgelopen dagen 'in het wild'.

Het betreft een voorverkenning die niet al te vaak voorkomt en gebruik maakt van de zogenaamde referer-kop. Referer had eigenlijk als referrer gespeld moeten worden, maar deze spelfout heeft de standaarden gehaald en is wereldwijd al decennia in gebruik. Dat maakt ook niet uit voor de werking. Wat belangrijk is om te weten is dat de referer een gegeven is dat een website verteld waar een bezoeker vandaan kwam.

Om dat kort uit te leggen; stel u bent op www.overheid.nl en klikt op een link naar www.werkenbijdeoverheid.nl, dan zal de eerste website waar u de link aanklikte als referer 'www.overheid.nl' instellen. Zodat de tweede website weet dat u daar vandaan kwam.

Er zitten een hoop mitsen en maren aan voor surfende bezoekers, zoals verbeterde privacy-mogelijkheden en privacyvriendelijke-instellingen. Voor dit voorbeeld is dat even irrelevant, want deze bot misbruikt het veld zelf. Zonder dat u er aan te pas komt.

De voorverkenning

Wat tijdens deze kwaadaardige voorverkenning als referer ingevuld was door de bot is de volgende tekst:

0'XOR(if(now()=sysdate(),sleep(7),0))XOR'Z

Dat ziet er voor de meeste mensen vrij onzinnig uit. Toch is het dat niet. Ze proberen iets.

Het stukje tekst hierboven komt via de referer-kop aan op bijvoorbeeld uw website. Uw website verzamelt wellicht statistiek. Dan wordt de referer opgeslagen. En bij dat opslaan gaat het mogelijk mis.

Deze tekst test of de website gevoelig is voor een zwakte genaamd SQL-injectieSQL injectie is een vorm van aanval welke gebruik maakt van het misbruiken van databasecommando's.. Als dat zo is, dan is deze referer niet gewoon een vreemde tekst, maar dan wordt het ineens een computer-instructie.

De instructie is kort maar krachtig; het vraagt aan de website om 7 seconden te wachten. Zo kan de kwaadaardige robot die dit probeerde iets leren. Als de website antwoord geeft binnen 7 seconden, wat gebruikelijk is, dan leert de bot dat deze website niet vatbaar is voor SQL-injectie. Maar als het antwoord 7 seconden of langer op zich laat wachten, dan is de kans groot dat deze website wél kwetsbaar is voor SQL-injectie.

De gevolgen

Een vervolgstap kan zijn dat deze bot uw website noteert op een lijstje, als deze kwetsbaar bleek. Later zal dan een aanval overwogen worden die de SQL-injectie pas echt flink uitbuit. Met meer instructies kunnen de criminelen achter deze kwaadaardige bot mogelijk een deel of alle gegevens uit uw website stelen.

SQL-injectie is een zwakte die gelukkig langzaam steeds minder voorkomt. Het bestaat al 20 jaar. Goede moderne software heeft er geen last meer van. Toch zijn er zelfs in 2022 nog 1.162 nieuwe lekken in software gevonden die SQL-injectie mogelijk maken. Niet iedere ontwikkelaar is er dus van op de hoogte. Ook staat deze zwakte elk jaar in de top 10 van OWASP doordat er nog veel software in omloop is die er vatbaar voor is.

De oplossing

De oplossingen van Forendox detecteren en beschermen tegen SQL-injectie, net als tegen vele andere aanvalshoeken. Te vaak is er weinig of geen zicht op digitale dienstverlening. Het actief monitoren, detecteren en weren voorkomt problemen. Net als het tijdig toepassen van updates en het periodiek in kaart laten brengen van aanvalshoeken. Neem gerust eens vrijblijvend contact op om dit onderwerp samen verder te bespreken.