26. Web Attacks web_*
Het internet is gebouwd op vertrouwen. Dat is het probleem. Het hele probleem. In één zin.
Dit is de grootste groep, onderverdeeld in subcategorieën. Elke subcategorie is een manier waarop het internet je teleurstelt. Of waarop je het internet teleurstelt, afhankelijk van je perspectief.
SQL Injection web_sqli_
Union-based, error-based, blind, file read/write, RCE via SQL, en sqlmap-automatisering. Zes bestanden die je door elke SQL-injectie heen loodsen. Van “ik denk dat hier een injectie zit” tot “ik heb de hele database.” Het is een reis. Een korte reis. Maar een productieve.
Server-Side Template Injection web_ssti_
Detectie plus exploitatie voor Jinja2, Twig, FreeMarker en Pug. Vijf template engines, vijf manieren om code uit te voeren op de server. De template engine vertrouwt je input. Dat had hij niet moeten doen. Dat weet hij nu ook.
Command Injection web_cmdi_
Operators, bypass-technieken en shell-one-liners. Drie bestanden voor als de webapplicatie shell-commando’s uitvoert met user input. Wat de webapplicatie niet had moeten doen. Maar deed. En nu zit je erin.
XSS web_xss_
Payloads en cookie/session stealing. Twee bestanden, want XSS is in essentie steeds hetzelfde: JavaScript uitvoeren in de browser van iemand anders. De variatie zit in hoe je het erin krijgt. Niet in wat het doet als het er eenmaal is.
XXE web_xxe_
XML External Entity payloads voor file disclosure, SSRF en out-of-band exfiltratie. XML vertrouwt iedereen. XML is naief. XML is je favoriete aanvalsvector als de applicatie het accepteert.
SSRF web_ssrf_
Protocol handlers, cloud metadata endpoints en interne poortscanners. Drie bestanden die de server laten doen wat jij wilt. De server denkt dat het verzoek van hemzelf komt. Technisch gezien is dat ook zo. Maar het idee kwam van jou.
LFI web_lfi_
Directory traversal en log poisoning. Twee bestanden voor het lezen (en uitvoeren) van bestanden op de server. ../../../../etc/passwd is het “Hallo wereld” van LFI. Het wordt daarna alleen maar erger. Of beter. Hangt af van waar je staat.
Deserialization web_deser_
.NET en Java deserialization-aanvallen. Ysoserial in beide smaken. De applicatie verwacht een object. Je stuurt een object. Het object doet alleen niet wat de applicatie verwacht. Het object doet wat jij wilt.
Overig web_
CORS-exploitatie, IDOR, prototype pollution, type juggling, file upload bypass, Node.js injection, en reconnaissance/fuzzing. De restcategorie die eigenlijk net zo belangrijk is als de rest. Misschien belangrijker. Want dit zijn de aanvallen die niet in de standaard checklist staan, en de dingen die niet in de checklist staan zijn de dingen die niemand controleert.