# TechShop Security Lab - Onveilige Webshop
In deze opdracht analyseer je een expres onveilig gebouwde PHP-webshop. Je leert beveiligingsproblemen herkennen, begrijpen waarom ze gevaarlijk zijn en hoe je ze kunt voorkomen.
- XAMPP of WAMP (lokaal webserverpakket)
- Een browser (Chrome/Firefox aanbevolen)
- Een teksteditor (VS Code aanbevolen)
- phpMyAdmin (meegeleverd in XAMPP/WAMP)
# Clone via Git
git clone [repository-url]
# OF download als ZIP via GitHub- Download XAMPP: https://www.apachefriends.org/
- Installeer XAMPP
- Start Apache en MySQL via XAMPP Control Panel
- Kopieer de webshop folder naar:
- XAMPP:
C:\xampp\htdocs\webshop\ - WAMP:
C:\wamp64\www\webshop\
- XAMPP:
- Open phpMyAdmin: http://localhost/phpmyadmin
- Klik op "New" / "Nieuw"
- Database naam:
webshop - Klik "Create"
- Klik op "Import" / "Importeren"
- Kies bestand:
db.sql - Klik "Go" / "Start"
- Open
config.phpin je editor - Controleer deze instellingen:
$host = "localhost";
$user = "root";
$password = ""; // Leeg voor XAMPP, "root" voor WAMP
$dbname = "webshop";- Open: http://localhost/webshop/
- Je zou de TechShop homepage moeten zien
- Test accounts:
admin/admin123john/passwordjane/123456
- Homepage: http://localhost/webshop/
- Login: http://localhost/webshop/login.php
- Admin Panel: http://localhost/webshop/admin.php
- Products: http://localhost/webshop/products.php
- Register: http://localhost/webshop/register.php
Voor SQL injection debugging:
http://localhost/webshop/login.php?debug=1
- Gebruik Incognito Mode voor XSS tests (voorkomt browser caching)
- Developer Tools (F12) helpen bij het debuggen
- Maak screenshots van elke succesvolle exploit
- Test systematisch - volg de opdracht stap voor stap
- Documenteer alles wat je vindt
- Check of Skype/Teams port 80 niet gebruiken
- Verander Apache port in XAMPP naar 8080
- Controleer of MySQL draait in XAMPP
- Verify database naam is exact
webshop - Check username/password in config.php
- URL moet zijn: http://localhost/webshop/ (niet vergeten:
/webshop/) - Check of alle bestanden in de juiste folder staan
- Test in incognito/private browsing mode
- Probeer verschillende payloads
- Check browser console voor errors
Je gaat 6 verschillende security kwetsbaarheden onderzoeken:
- SQL Injection
- Cross-Site Scripting (XSS)
- Insecure Direct Object References (IDOR)
- Sensitive Data Exposure
- Broken Access Control
- Input Validation Failures
Voor elk onderdeel moet je:
- De kwetsbaarheid demonstreren
- De OWASP categorie identificeren
- Een oplossing voorstellen
Deze vaardigheden zijn bedoeld voor:
- Het beveiligen van je eigen applicaties
- Security audits met toestemming
- Bug bounty programma's
NOOIT gebruiken voor:
- Hacken zonder toestemming
- Schade aanrichten aan systemen
- Illegale activiteiten
Veel succes met de opdracht! Remember: with great power comes great responsibility 🕷️