Proč API potřebuje vlastní test
API je dnes samostatná úroveň útoku. Zranitelnost, která se v uživatelském rozhraní vůbec neprojeví, může být přes API přímo zneužitelná, protože rozhraní obvykle nemá stejnou úroveň kontroly jako aplikace a bývá dostupné bez omezení.
Co testujeme
-
Autorizace na úrovni objektů (BOLA)
Nejčastější a nejzávažnější chyba API: přístup k datům jiného uživatele pouhou změnou identifikátoru v požadavku. -
Autentizace
Testujeme bezpečnost API klíčů, tokenů a JWT, odolnost proti brute-force a credential stuffing, správná expirace a odvolání tokenů. -
Autorizace na úrovni vlastností (BOPLA)
Testujeme čtení nebo zápis polí, ke kterým uživatel nemá mít přístup (excessive data exposure a mass assignment). -
Autorizace na úrovni funkcí (BFLA)
Testujeme přístup k funkcím a endpointům určeným pro jinou roli, typicky administrátorské akce vyvolané běžným uživatelem. -
Neomezená spotřeba zdrojů
Testujeme (chybějící) rate limiting a limity, které umožní enumeraci, přetížení služby (DoS) nebo navýšení provozních nákladů. -
Zneužití citlivých business flows
Automatizované zneužití legitimních funkcí (hromadné nákupy, rezervace, registrace) bez ochrany proti robotům. -
Server-Side Request Forgery (SSRF)
Pokusíme se donutit server k odeslání požadavku na interní systémy přes URL řízenou útočníkem. -
Bezpečnostní konfigurace a inventář API
Chybné konfigurace, CORS, chybějící hlavičky a hlavně staré či nezdokumentované verze API (shadow a zombie endpointy). -
REST i GraphQL specifika
U GraphQL introspection testujeme hloubku a dávkování dotazů, u REST metody a verzování + bezpečnost konzumace cizích API (unsafe consumption).
Testujeme na produkci, nebo v testovacím prostředí?
Stejně jako u aplikací doporučujeme testovat produkční prostředí — jen tam je konfigurace, rate limiting a chování rozhraní shodné s realitou. Testovací API se často liší nastavením i daty, takže nález z něj nemusí odpovídat skutečnému riziku.
Postupujeme kontrolovaně a nedestruktivně, v dohodnutých oknech; rizikovější kroky vždy předem odsouhlasíme. Pokud produkci testovat nelze, potřebujeme co nejvěrnější kopii.
Časté otázky k penetračním testům
Liší se test API od testu webové aplikace?
Ano. API nemá uživatelské rozhraní a řídí se jinými pravidly — těžiště je v autorizaci na úrovni objektů a funkcí, rate limitingu a datových tocích, ne v prohlížeči. Proto má vlastní metodiku (OWASP API Security Top 10).
Testujete REST i GraphQL?
TODO: odpověď ve Figmě chybí.
Co je BOLA a proč je nejčastější?
TODO: odpověď ve Figmě chybí.
Potřebujete dokumentaci k API?
TODO: odpověď ve Figmě chybí.
Dejte nám vědět!
Domluvte si bezplatnou konzultaci, navrhneme rozsah testu přesně na míru vaší aplikaci a do 24 hodin pošleme nabídku.
Související testy
-
Aplikace a API
Webové aplikace
Všech 12 oblastí OWASP WSTG včetně business logiky a autorizace. -
Aplikace a API
Mobilní aplikace
iOS i Android: ukládání dat, pinning, odolnost proti reverzování.