Security is iets waar ik me eigenlijk nooit druk om maakte. Moeilijk gedoe van IT-professionals die het over zaken hadden waar ik toch nooit mee te maken zou krijgen. Nee, laat mij maar lekker programmeren. Mijn interesse in security begon toen de website van het bedrijf naast ons gehackt werd. Een of andere "lolbroek" moest zonodig de voorpagina wijzigen en alle bestanden op de webserver weggooien. Aangezien het bedrijf geen recente backups had, heeft dit nog voor veel problemen gezorgd. Om een zelfde situatie te voorkomen besloot ik me te verdiepen in veilig programmeren. Via via kwam ik op Security.NL terecht en uiteindelijk bij de Pine Secure Webdevelopment workshop.
Door Gijs Kooij, programmeur bij van der Have media.
Volgens de beschrijving zou ik na het volgen van de workshop in staat zijn om fouten te vinden in andermans, maar ook in eigen code, waardoor die "de toets der hackers" zou kunnen doorstaan.
De workshop werd gegeven in een kantoorruimte in Den Haag. Samen met negen andere deelnemers kregen we te horen hoe de dag was opgebouwd en wat we zouden doen. Er werd echter begonnen met een uitleg van wat hackers zijn. Veel mensen hebben een onjuist beeld van hackers als cybervandalen die systemen platleggen en creditcardgegevens stelen. Het zijn juist scriptkiddies en crackers die schade aanbrengen, maar dat hoef ik bezoekers van security.nl niet te vertellen. Nu wilde onze trainer geen leuk verhaal ophouden. We moesten namelijk leren hoe hackers denken. Hoe kijken zij naar een site. Als ik met een site bezig ben let ik vooral op functionaliteit en hoe die eruit ziet. Het laatste waar ik dan mee bezig ben is iemand die door het toevoegen van een paar quotes allemaal vertrouwelijke gegevens weet te verkrijgen. Geen hogeschool informatica, maar slechts een paar goed geplaatste quotes kunnen meer schade veroorzaken dan veel mensen denken.
De browser is machtiger dan het zwaard
Dat het bij hacken niet alleen om bepaalde programma's draait bleek wel uit het gereedschap de we toegewezen kregen. Slechts een browser en een goede editor zijn het enige wapenarsenaal waarmee we ons gastenboek te lijf gingen.
De opdracht bestond uit het "hacken" van een gastenboek. In totaal zouden we vijf gastenboeken moeten kraken, waarbij in elk gastenboek een fout aanwezig was wat door een aanvaller misbruikt zou kunnen worden. Bij het eerste gastenboek kregen we te maken met directory traversal. Hierdoor is het mogelijk om commando's uit te voeren op het systeem. In eerste instantie had ik eigenlijk geen idee, ook al was de code niet zo lang, waar ik moest kijken, maar na een paar tips en wat uitleg van de instructeur zag ik inderdaad wat er allemaal mis kan gaan. Verder keken we wat er fout kan gaan met SQL injectie, XML Injection, en Cross Site Scripting (XSS). Bij het niet goed implementeren van XSS kan een aanvaller bijvoorbeeld wachtwoorden en sessie cookies achterhalen.
De trainer probeerde ons al spelende wijs inzicht in het hacken van het gastenboek te geven, wat ook een echte uitdaging begon te worden. Kwamen we er niet uit dan was hij aanwezig om tips en pointers te geven, maar hacking is meer dan een rijtje uit je hoofd leren. Het is een combinatie van kennis en inzicht, anticiperen wat bepaalde code doet en zien hoe dit misbruikt kan worden, en dat wist de trainer goed over te brengen.
Voor we het wisten was de dag voorbij en had ik toch een aantal essentiele dingen geleerd die me bij het ontwikkelen van websites en applicaties zeker van pas komen. Ook kan ik nu vrienden en collega's adviseren als zij snel willen weten of er iets mis met hun site of applicatie is. Een absolute aanrader!
Update: tekst aangepast
Deze posting is gelocked. Reageren is niet meer mogelijk.