In dit onderdeel kwamen kwetsbaarheden aan bod waarbij input acties, bestanden of commando’s op de server kan beinvloeden. CSRF zat daarbij aan de client-side kant: acties uitvoeren via een bestaande sessie.
In een oogopslag
Technieken in detail
CSRF
CSRF
Slachtoffer voert ongewild een actie uit. 3 voorwaarden: relevante actie ; sessie via cookies ; geen CSRF-token.
- Zoek de action-URL van een knop (de
Xom iets te verwijderen, “change email”) - GET-CSRF via onzichtbare afbeelding:
- POST-CSRF = verborgen auto-submit form op je eigen pagina
- Moderne blocker: SameSite-cookie (
Lax/Strict)
OS command injection
OS command injection
Gebruikersinput belandt in een shell-commando (
shell_exec("ping " . $input)).Voorbeelden:
127.0.0.1 ; cat /etc/passwd ; 127.0.0.1 | cat /etc/passwd ; & echo KoenK &Argument-injectie (variant): input gaat naar grep <input> file -> a /etc/.../natas11 dictionary.txtLFI - Local File Inclusion
LFI - Local File Inclusion
Een param bepaalt welk bestand geladen wordt.
- Normaal:
show.php?file=poem.txt-> misbruik:show.php?file=../../../etc/passwd - Doel: configfiles, credentials, SSH-keys (
../root/.ssh/id_ed25519) - Met een private key ->
ssh -i id_ed25519 root@<ip>= RCE
File upload bypass
File upload bypass
Krijg een server-side script (
.php) geupload:- Geen restrictie: upload gewoon
shell.php - MIME-check: upload
.php, wijzig in BurpContent-Type: image/jpeg - Extensie-obfuscatie:
exploit.jpg.php;exploit.php.jpg;exploit.pHp;exploit.php.;exploit%2Ephp - Client-side variant: geen PHP mogelijk? upload HTML/SVG met
<script>-> stored XSS
Web shell -> RCE
Web shell -> RCE
De inhoud van je geuploade Daarna gewoon opvragen:
.php:GET /uploads/shell.php?command=whoamiHTTP PUT upload
HTTP PUT upload
Geen uploadformulier? Server staat soms Antwoord
PUT toe:201 Created -> bezoek daarna de nieuwe URL.Handige curl parameters
Recon-commando’s
Zodra je command injection hebt:Koppeling tussen input en kwetsbaarheid
1
Veld dat iets uitvoert (ping, lookup)
OS command injection hangt vaak samen met separators zoals
; & && |.2
Param met bestandsnaam (?file=, ?page=)
LFI / directory traversal.
3
Upload-functie
Upload-bypasses draaiden in de les rond
.php, MIME-types, extensie-obfuscatie en web shells.4
Geen uploadform, wel schrijfrechten
HTTP PUT.
5
Actie-knop in een ingelogde app
CSRF-link bouwen.
Tools
curl
Terminaltool voor PUT-requests en handmatige HTTP-calls.
Burp Suite
Proxytool voor Content-Type, filenames, cookies en request bodies.
Browser DevTools
Referentie voor action-URL’s, hidden inputs en client-side uploadchecks.
PortSwigger Web Security Academy
Labs en referentie voor CSRF, upload bugs, traversal en command injection.
PayloadsAllTheThings
Payloadreferentie voor RCE, LFI, upload-bypasses en web shells.