[ MISHANDLING_OF_EXCEPTIONAL_CONDITIONS ]

Kliknutím se vrátíš zpět.

Když se plán "B" stane hrozbou

Mishandling of Exceptional Conditions řeší situace, kdy aplikace opustí svou "šťastnou cestu" (happy path) a narazí na neočekávaný stav. V BBP hunteři záměrně vyvolávají chyby, aby získali citlivá data nebo obešli logiku aplikace v momentě, kdy je systém nestabilní.

Kritické vektory selhání:

  • Information Leakage (Verbose Errors): Únik interních informací o infrastruktuře skrze chybové hlášky.
  • Improper Error State (Fail-Open): Stav, kdy selhání bezpečnostní kontroly vyústí v povolení přístupu.
  • Resource Exhaustion: Neošetřené výjimky, které za sebou neuklízejí (neuzavřené soubory, paměť), vedoucí k DoS.

Hloubková analýza: Stack Trace & Debug Info

Pro útočníka je Stack Trace (výpis zásobníku) mapou k pokladu. Prozrazuje nejen použité frameworky a jejich verze, ale i vnitřní logiku kódu a cesty v souborovém systému.

server_response — 500_internal_server_error
Exception in thread "main" java.sql.SQLException: Access denied for user 'db_admin'@'10.0.0.5'
  at com.target.app.DBManager.connect(DBManager.java:42)
  at com.target.app.AuthService.validate(AuthService.java:115)
# Hunter vidí: IP databáze, jméno DB uživatele a strukturu balíčků v Javě.

Fail-Open: Nebezpečí "pohodlné" chyby

K Fail-Open dochází, když programátor předpokládá, že pokud se něco pokazí, není důvod uživatele obtěžovat. V bezpečnostních funkcích (autentizace, filtry) je to fatální.

Scénář: WAF Bypass

Pokud webový firewall (WAF) při extrémní zátěži přestane stíhat a prostě "pustí" všechen provoz bez kontroly (aby web nespadl), útočník může v tento moment poslat škodlivý payload.

Scénář: Auth Service Outage

Mikroslužba pro ověření práv je nedostupná. Aplikace místo chyby 403 vrátí 200 OK, protože "nemá instrukci k zamítnutí".

Side-Channel útoky skrze chyby

I když aplikace nevrací detailní chybu, hunter může sledovat časovou odezvu (Time-based side channel). Pokud zpracování chyby u existujícího uživatele trvá 500 ms a u neexistujícího 10 ms, aplikace právě prozradila informaci o existenci uživatele (User Enumeration).

Prevence: Resilience by Design

Zabezpečení výjimek vyžaduje disciplínu a centralizaci.

Opatření Technický dopad
Custom Error PagesUživatel vidí jen statické HTML (např. 404.html), žádný kód.
Global Exception HandlerJediné místo v kódu, které zachytí všechny pády a bezpečně je zaloguje.
Automatic Resource ReleasePoužití konstrukcí jako try-with-resources k eliminaci DoS.
Fail-Closed PolicyPokud nastane nejasný stav, operace se vždy přeruší a přístup zamítne.

Shrnutí OWASP (A10:2025)

Nová definice zdůrazňuje, že moderní systémy jsou distribuované. Selhání jedné komponenty nesmí vyvolat kaskádové selhání (Cascading Failure), které by odkrylo citlivá data v celém ekosystému. Rezilience (odolnost) je novým standardem bezpečnosti.