Studio Maatwerk is een fictief bureau met opzettelijke beveiligingsfouten. Vind ze, verzamel de CYBERBREIN{…}-flags en sluit af met een certificaat. Je voortgang blijft in deze browser staan.
Log in op het klantportaal, of maak een account aan.
Zoek kwetsbaarheden op de site — gebruik de hint per challenge.
Voer elke gevonden flag hieronder in en exporteer je certificaat.
Behaald: — (laden)
0%
Behaal minstens één flag via controleren om te exporteren.
Het adminpaneel zit achter een login. Zou het wachtwoord op een lijst met veelgebruikte wachtwoorden staan?
Wat je leert: Herkennen van zwakke wachtwoorden en credential stuffing-risico.
Facturen zijn af te schermen met een 4-cijferige pincode. Zonder limiet op pogingen is dat geen slot.
Wat je leert: Ontbrekende rate limiting / account lockout en de kracht van brute-force.
Een klant ziet eigen facturen. Werkt de server ook echt op basis van jouw klant-id?
Wat je leert: Begrijpen van broken access control en IDOR.
Je kunt je profiel bijwerken. Maar welke velden accepteert de server eigenlijk allemaal?
Wat je leert: Mass assignment: een endpoint dat client-velden blind overneemt, geeft privilege escalation.
Soms ‘vergeten’ ontwikkelaars een endpoint achter auth te zetten.
Wat je leert: Datalek via onbeveiligde API’s herkennen.
De kennisbank heeft een zoekbalk. Die bouwt de query met stringplakwerk in plaats van parameters.
Wat je leert: SQL-injectie herkennen en de impact van niet-geparametriseerde queries.
Back-ups horen niet publiek. Deze map simuleert een configuratiefout.
Wat je leert: Exposed storage en backup-risico’s.
Een oud debug-endpoint exporteert gebruikers. Kijk eens hoe de wachtwoorden bewaard worden.
Wat je leert: Cryptographic failure: wachtwoorden horen gehasht (bcrypt/argon2), nooit plat.
Het admin-paneel toont berichten op een onveilige manier.
Wat je leert: Stored XSS en onveilige output-encoding.
Het portaal haalt een preview op van elke URL die je opgeeft. Ook interne adressen?
Wat je leert: SSRF: de server laten praten met interne diensten die van buiten niet bereikbaar zijn.
Een per ongeluk blootgesteld configuratiebestand is een klassieker.
Wat je leert: Begrijpen waarom .env nooit publiek mag zijn.
Een rapport-endpoint klapt om bij rare invoer en vertelt daarbij iets te veel.
Wat je leert: Verbose errors / stacktraces lekken interne details aan de aanvaller.
Een demo-cookie vertrouwt op de browser. Dat mag nooit echte autorisatie zijn.
Wat je leert: Client-side trust en privilege escalation.
De site kan in een iframe geladen worden. Een aanvaller kan er zo een neplaag overheen leggen.
Wat je leert: Ontbrekende X-Frame-Options / frame-ancestors maakt clickjacking mogelijk.
De wachtwoord-vergeten-flow lijkt normaal. Maar hoe wordt de reset-code gemaakt en verstuurd?
Wat je leert: Onveilig ontworpen recovery: voorspelbare/gelekte tokens en user enumeration.
Een statuspagina verklapt de gebruikte componenten en hun versies. Eén ervan is niet meer onderhouden.
Wat je leert: Version disclosure en het risico van verouderde/EOL-afhankelijkheden.
Een import-endpoint accepteert een geserialiseerd instellingenblob met een handtekening. Wordt die wel gecontroleerd?
Wat je leert: Integriteitsfalen: vertrouwen op client-geleverde, niet-geverifieerde (geserialiseerde) data.
Het portaal accepteert ‘logo’s’ maar controleert extensies slecht — en serveert het bestand daarna gewoon terug.
Wat je leert: Upload-risico’s: een geaccepteerd .html/.svg voert uit op de eigen origin (stored XSS via upload).