← Terug naar alle modules
Intermediate MODULE 10 ⏱️ 4-5 uur

Web App Hacking

Meer dan 80% van de hedendaagse cyberaanvallen gaat via de webapplicatie. Leer over SQL Injections, Cross-Site Scripting (XSS) en de OWASP Top 10.

Jouw voortgang: 0%

1. De OWASP Top 10

De OWASP (Open Web Application Security Project) is de belangrijkste organisatie als het gaat om webbeveiliging. Zij publiceren regelmatig de "OWASP Top 10": een lijst van de 10 meest voorkomende en gevaarlijkste kwetsbaarheden in webapplicaties.

Als pentester zul je in rapportages continu verwijzen naar deze Top 10. We behandelen hieronder de twee allerbelangrijkste: SQL Injection en XSS.

2. SQL Injection (SQLi)

Een SQL-database slaat gegevens op (wachtwoorden, berichten). De website communiceert met deze database via queries (vragen). Bijvoorbeeld:
SELECT * FROM users WHERE username='Nils' AND password='123'

Een SQL Injection vindt plaats wanneer de website de input van een bezoeker niet filtert, waardoor de hacker code in de database kan injecteren.

Wat gebeurt er als de hacker in het gebruikersnaam-veld het volgende typt: admin' OR '1'='1 ?

SELECT * FROM users WHERE username='admin' OR '1'='1' AND password='...'

Omdat 1 altijd gelijk is aan 1, zegt de database: "Ja, deze zin klopt, laat hem er maar in!". De hacker is nu ingelogd als Admin zónder wachtwoord!

3. Cross-Site Scripting (XSS)

XSS is het stiekem uitvoeren van JavaScript code in de browser van een ander slachtoffer. Dit gebeurt vaak wanneer een website tekst van een gebruiker direct weergeeft (bijvoorbeeld in een reactie op een forum) zonder de speciale HTML tekens eruit te filteren.

Er zijn drie soorten XSS:

  • Reflected XSS: De code zit verborgen in een kwaadaardige link. Het slachtoffer klikt op de link, de website reflecteert de code terug, en de code wordt uitgevoerd.
  • Stored XSS: De gevaarlijkste variant. De hacker plaatst een reactie met JavaScript (bijv: <script>alert('Gehackt!')</script>). Deze reactie wordt opgeslagen in de database. Iédereen die daarna die pagina bezoekt, voert automatisch het script uit!
  • DOM-based XSS: Gebeurt puur in de browser (frontend) door het manipuleren van de Document Object Model.
Wat is het gevaar? Een alert() pop-up klinkt onschuldig. Maar met JavaScript kan een hacker jouw Sessie Cookies (je "inlogbewijs") stelen en naar zijn eigen server sturen. Hij kan dan inloggen op jouw account.

4. De tool: Burp Suite

Om deze fouten te vinden heb je controle nodig over wat jouw browser écht verstuurt. Burp Suite is een Intercepting Proxy. Dit is een programma dat tussen jouw browser en de webserver in staat.

Je klikt op 'Inloggen' in je browser. De request gaat niet direct naar de server, maar belandt in Burp Suite (die op pauze staat). Je kunt nu de request aanpassen, SQL-injecties toevoegen of de HTTP Method veranderen, waarna je op 'Forward' klikt. Onmisbaar voor Web App Hacking!

🎯 Praktijkopdrachten

  • Ga naar de gratis test-website van PortSwigger (makers van Burp Suite) en volg hun SQL Injection tutorial om de logica te begrijpen.

  • Begrijp dat <script>alert(1)</script> de universele manier is waarop hackers in rapportages bewijzen dat Stored XSS mogelijk is op een formulier.

📝 Kennis Test

Vraag 1 van 3