Je kent die scène uit elke film met een hacker erin. Groene letters rollen over een zwart scherm, iemand tikt razend op een toetsenbord, en na precies acht seconden zegt hij: "I'm in." Het publiek is onder de indruk. De hacker draagt een hoodie. Natuurlijk draagt de hacker een hoodie.
In werkelijkheid is het allemaal veel saaier. En tegelijkertijd veel enger.
Want wat een hacker ziet als hij naar jouw website kijkt, is niet wat jij ziet. Jij ziet je mooie homepage, je nette logo, je zorgvuldig gekozen stockfoto van glimlachende mensen achter laptops. Een hacker ziet een aanvalsoppervlak.
De voordeur: wat staat er op je serveerblad?
Het eerste wat een hacker doet, is kijken welke technologie je gebruikt. En jouw website vertelt dat maar al te graag. Het is alsof je een bordje op je voordeur hangt met de tekst: "Wij gebruiken slot merk X, type Y, geïnstalleerd in 2019, nooit onderhouden."
Elke website lekt informatie:
- HTTP-headers vertellen welke webserver je draait (Apache 2.4.41? Bedankt, er is een bekende kwetsbaarheid in die versie.)
- De broncode van je pagina onthult welk CMS je gebruikt, welke JavaScript-bibliotheken je hebt geladen, en soms zelfs welke plugins er actief zijn.
- Foutmeldingen — oh, de foutmeldingen. Niets is zo informatief als een website die een volledige stack trace toont als je een apostrof in het zoekveldje tikt.
Dit heet reconnaissance — verkenning. En het kost een hacker misschien tien minuten. Met een goede scanner vijf.
De ramen: formulieren en invoervelden
Elk formulier op je website is een raam dat open kan staan. Een contactformulier, een zoekbalk, een inlogpagina — het zijn allemaal plekken waar een gebruiker (of een aanvaller) data naar je server stuurt.
En de vraag is: wat doe jij met die data?
- Controleer je of het e-mailadres echt een e-mailadres is? Of accepteer je ook
' OR 1=1; DROP TABLE users; --? - Escape je de invoer voordat je het in je database stopt? Of laat je gebruikers vrolijk JavaScript injecteren in je gastenboek?
- Beperk je het aantal inlogpogingen? Of mag iemand onbeperkt wachtwoorden raden, als een digitale inbreker die alle sleutels aan zijn bos probeert?
Dit is geen hypothetisch scenario. Dit is dinsdag voor een gemiddelde hacker.
De achterdeur: vergeten pagina's en API's
Hier wordt het echt leuk. De meeste websites hebben pagina's die niemand meer kent maar die er nog wél zijn. Een /admin-panel uit 2018. Een /test-pagina met debug-informatie. Een /api/v1/users endpoint dat alle gebruikersgegevens retourneert als je er gewoon om vraagt.
Een hacker zoekt systematisch naar deze vergeten hoekjes. Met woordenlijsten, met tools als dirb of gobuster, of gewoon door in robots.txt te kijken — het bestand waarmee je zoekmachines vertelt welke pagina's ze niet moeten indexeren. Ironisch genoeg is dat precies de routekaart die een hacker nodig heeft.
De kluis: authenticatie en sessies
Hoe je inlogmechanisme werkt, is voor een hacker als een slotenpuzzel. En de meeste puzzels zijn makkelijker dan je denkt:
- Wachtwoord-reset via een voorspelbare link? Bingo.
- Sessie-tokens die niet roteren na het inloggen? Dank je wel.
- Cookies zonder
HttpOnlyenSecureflags? Alsof je je huissleutel onder de mat legt. Met een pijl erbij.
Wat kun je doen?
Het goede nieuws: je hoeft geen hacker te zijn om te denken als een hacker. Maar het helpt wel om er eentje in te huren — de legale variant.
Een professionele pentest simuleert precies dit proces. Een ethisch hacker kijkt naar je website met dezelfde ogen, dezelfde tools, en dezelfde technieken als een crimineel. Het verschil: hij vertelt je daarna wat hij heeft gevonden, in plaats van het te exploiteren.
En als je wilt weten waar je staat vóórdat je iemand inhuurt, begin dan met onze gratis security-checklist. Het is geen pentest, maar het geeft je een eerlijk beeld van de basis.
De ongemakkelijke waarheid
Je website is geen digitaal visitekaartje. Het is een deur naar je bedrijfsnetwerk, je klantgegevens, je financiële administratie. En een hacker hoeft maar één keer gelijk te hebben. Jij moet elke keer gelijk hebben.
Dus de volgende keer dat je naar je website kijkt en denkt "ziet er goed uit" — bedenk dan dat een hacker hetzelfde denkt. Maar om heel andere redenen.