Geforceerd browsen

Geforceerd browsen

Een niet-gekoppelde URL is geen toestemmingscontrole.

Wat is Geforceerd browsen?

Er bestaat een route, niets in de interface linkt ernaar, en het antwoordt iedereen die het pad raadt. Het geheimhouden van mapnamen is geen toegangscontrole. Zonder account voert u een woordenlijst voor het ontdekken van inhoud uit op een mensenplatform en vindt u een interne exportroute die 200 OK antwoordt met de volledige werknemerslijst, geen cookie of API-sleutel vereist. Vervolgens voeg je de poort toe die het nooit heeft gehad, een sessie- en rolcontrole voordat een enkele rij is gelezen, en herhaal je het verzoek naar een 403.

Wat je leert in Geforceerd browsen

Geforceerd browsen — Trainingsstappen

  1. Maak het doel groter

    Bob is een financieel gemotiveerde aanvaller. Hij vindt bedrijven die iets op het openbare internet hebben achtergelaten en verkoopt vervolgens wat hij eruit haalt of gebruikt het om aan hun geld te komen. Vandaag richt hij zich op Kelvara, een mensenplatform waarop bedrijven hun salarisadministratie en HR beheren. Hij begint waar iedereen dat zou doen, op de openbare site, en neemt het bedrijf in kaart voordat hij een manier zoekt om binnen te komen.

  2. Breng de API-structuur in kaart

    Niets op de openbare site is ongebruikelijk: een aanmelding, een productrondleiding, een ondersteuningspagina. Maar een app beantwoordt veel meer paden dan waarnaar hij linkt. Alles wat een ontwikkelaar bereikbaar heeft gelaten, blijft bereikbaar voor iedereen die op zoek gaat, dus brengt Bob elk pad in kaart waar de API van de portal daadwerkelijk op reageert.

  3. Open de exportroute

    Het enige pad dat zonder uitdaging beantwoordde, is een URL zoals alle andere. Bob heeft hiervoor geen gereedschap nodig: hij typt het ontdekte pad rechtstreeks in de browser en drukt op Enter, net als bij het openen van een willekeurige pagina.

  4. De hele map, geen login

    Het antwoord is geen foutpagina. De browser geeft het inline weer: Kelvara's volledige werknemerslijst, duizenden records, overhandigd aan een verzoek waarvoor helemaal geen aanmelding nodig was.

  5. Kennis check

    Je zag hoe een geraden URL gevoelige gegevens retourneerde naar een verzoek zonder inloggegevens. Leg vast waarom het eindpunt bereikbaar was.

  6. De DLP-waarschuwing komt binnen

    Jij bent eigenaar van Kelvara's mensenportaal. Van de ene op de andere dag werd de monitoring van uitgaand gegevensverlies geactiveerd als gevolg van een reactie die het volledige werknemersbestand, inclusief SSN's en salarissen, buiten het netwerk bracht. Security Operations heeft u de details per e-mail gestuurd.

  7. Open de exporthandler

    De handler die de werknemersexport opbouwt, is wat u moet veranderen. Open het en kijk wat het doet tussen het binnenkomen van het verzoek en het uitgaan van de gegevens.

  8. Zoek de ontbrekende poort

    De handler leest elk personeelsdossier en stuurt het terug. Lees het van boven naar beneden en zoek naar de toegangscontrole. Er staat niets tussen het verzoek en de vraag.

  9. Kennis check

    Je hebt de handler van verzoek naar gegevens zien rennen, met niets ertussenin. Leg vast wat een route als deze feitelijk privé houdt.

  10. Voeg de toegangscontrole toe

    Plaats een echt hek bovenaan de handler. Het lost de sessie van de beller op, bevestigt dat deze de rol hr_admin heeft en wijst al het andere af voordat de databasequery ooit wordt uitgevoerd. Het pad blijft hetzelfde; het vinkje, en niet de mapnaam, beschermt nu de gegevens.

Dekking van beveiligingsframeworks

OWASP Top 10

  • A01:2025 Broken Access Control
  • A01:2021 Broken Access Control

CWE

  • CWE-425 Direct Request ('Forced Browsing')
  • CWE-862 Missing Authorization

CIS Controls

  • CIS 16 Application Software Security

NIST CSF

  • PR.AT-02 Individuals in specialized roles are provided with awareness and training so that they possess the knowledge and skills to perform relevant tasks with cybersecurity risks in mind
  • PR.PS Platform Security