Building the Homelab – Deel 4.1: The_Matrix_Coffee_Shop

Building the Homelab – Deel 4.1: The_Matrix_Coffee_Shop

In mijn homelab draait het allemaal om één ding: oefenen in een realistische omgeving. Theorie is waardevol, maar echte progressie komt pas als je fouten maakt in je eigen sandbox. Daarom heb ik The Matrix_Coffee_Shop gebouwd — een volledig werkende, doelbewust kwetsbare webshop die perfect is om webapplicatiebeveiliging in de praktijk te leren. De webapplicatie heb ik gebaseerd op de OWASP-top 10 vulnerabilities.

Het is geen kant-en-klare VM. Ik heb deze webshop zelf opgezet, gebouwd in PHP en MySQL, draaiend op een XAMPP-server in mijn Ubuntu VM. Geen magie, geen shortcut. Gewoon bouwen, begrijpen, en daarna breken. Ik ben geen programmeur, dus ik heb de app geschreven met AI.

Het idee achter de Matrix_Coffee_ Shop

De inspiratie voor dit project komt – je raadt het al – uit The Matrix. Ik ga er geen doekjes om winden: ik ben een gigantische Matrix-geek. Die fascinatie heb ik gecombineerd met m’n liefde voor koffie. Meer had ik niet nodig om aan de slag te gaan.

Daarnaast is een webshop een perfecte setting voor security-oefeningen. Het bevat bijna alles waar je als ethical hacker tegenaan loopt: gebruikersbeheer, inputvelden, sessies, rechtenstructuren, databases. Kortom, genoeg oppervlak om te verkennen én te misbruiken.

  • Neo’s Awakening Blend
  • Morpheus Mystery Mocha
  • Agent Smith’s Firewall Fuel

Dat houdt het luchtig, maar de onderliggende kwetsbaarheden zijn bloedserieus.

Technische opbouw

Deze webshop is opgebouwd als een doorsnee e-commerce platform:

  • Frontend: HTML, CSS, JavaScript
  • Backend: PHP
  • Database: MySQL
  • Server: Apache via XAMPP

Directorystructuur in de htdocs:

matrix_coffee_shop/
├── public/            # Website bestanden
├── includes/          # PHP-functies
├── config/            # Database connecties en settings
├── admin/             # Beheerdersgedeelte
└── logs/              # Serverlogs

De structuur is simpel, maar krachtig genoeg om echte kwetsbaarheden zichtbaar te maken.

Functionaliteiten

De webapp heeft de volgende functionaliteiten die je ook bij echte webshops tegenkomt:

  • Gebruikers registreren en inloggen
  • Producten bekijken, zoeken, beoordelen
  • Items toevoegen aan een winkelmandje
  • Bestellingen plaatsen
  • Als beheerder inloggen om producten en gebruikers te beheren

Met andere woorden: een volwaardige playground voor webapp security.

Ingebouwde kwetsbaarheden

De Matrix Coffee Shop bevat bewust meerdere kwetsbaarheden uit de OWASP Top 10. En nee, niet ‘per ongeluk’ slecht geschreven code — maar doelbewust zo gemaakt dat je leert herkennen wat vaak fout gaat in echte applicaties.

Voorbeelden:

  • SQL Injection – in login en zoekfunctie
  • Cross-Site Scripting (XSS) – in productrecensies
  • IDOR – via profielpagina’s
  • Command Injection – via het contactformulier
  • Security Misconfiguration – hardcoded admin-wachtwoorden
  • Cryptographic Failures – wachtwoorden in plaintext opgeslagen

Je hoeft geen expert te zijn om hier wat uit te halen. Als je de basis snapt van HTTP-verkeer en hoe een webapp functioneert, kun je hier waardevolle lessen uit trekken.

Waarom ik dit toevoeg aan mijn homelab

Ik gebruik deze setup in mijn homelab voor 4dingen:

  1. Door zelf applicaties te bouwen leer ik beter de back-end te begrijpen
  2. Oefenen met tools voor webapps – zoals Burp Suite, sqlmap, ZAProxy
  3. Creativiteit - door zelf te bedenken en te bouwen stimuleer ik mezelf meer 'out-of-the-box' te denken.
  4. Progressief de beveiliging verbeteren - naarmate mijn kennis en vaardigheid groeit kan ik de moeilijkheidsgraad steeds meer opschroeven. Zo behaal ik een goed leerrendement omdat ik zowel de back-end als de exploitatie begrijp.

Het is dus niet alleen “hacken om te hacken,” maar vooral: snappen waarom iets werkt en hoe je het voorkomt.

Volgende homelab-delen

In de komende delen van deze blogreeks duik ik dieper in de kwetsbaarheden die bewust in de Matrix Coffee Shop zijn verwerkt. We pakken de OWASP Top 10 stuk voor stuk aan — van SQL Injection tot Insecure Direct Object References — en ik laat zien hoe deze kwetsbaarheden zich gedragen in de praktijk, hoe je ze kunt ontdekken, en wat je ervan leert als je ermee aan de slag gaat.

Kortom: geen theorie, maar praktijk. Recht uit het lab.