7.8 KiB
Testowanie penetracyjne interfejsów API
Dowiedz się, jak hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!
Inne sposoby wsparcia HackTricks:
- Jeśli chcesz zobaczyć swoją firmę reklamowaną w HackTricks lub pobrać HackTricks w formacie PDF, sprawdź SUBSCRIPTION PLANS!
- Zdobądź oficjalne gadżety PEASS & HackTricks
- Odkryj Rodzinę PEASS, naszą kolekcję ekskluzywnych NFT
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @carlospolopm.
- Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do HackTricks i HackTricks Cloud github repos.
Użyj Trickest, aby łatwo tworzyć i automatyzować przepływy pracy przy użyciu najbardziej zaawansowanych narzędzi społecznościowych na świecie.
Otrzymaj dostęp już dziś:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
Podsumowanie metodologii testowania penetracyjnego interfejsów API
Testowanie penetracyjne interfejsów API obejmuje strukturalne podejście do odkrywania podatności. Przewodnik ten zawiera kompleksową metodologię, podkreślając praktyczne techniki i narzędzia.
Zrozumienie typów interfejsów API
-
Usługi sieciowe SOAP/XML: Wykorzystują format WSDL do dokumentacji, zwykle dostępnej pod ścieżkami
?wsdl
. Narzędzia takie jak SOAPUI i WSDLer (rozszerzenie Burp Suite) są niezbędne do analizy i generowania żądań. Przykładowa dokumentacja jest dostępna na stronie DNE Online. -
Interfejsy API REST (JSON): Dokumentacja często jest dostępna w plikach WADL, ale narzędzia takie jak Swagger UI zapewniają bardziej przyjazny interfejs użytkownika do interakcji. Postman to cenne narzędzie do tworzenia i zarządzania przykładowymi żądaniami.
-
GraphQL: Język zapytań dla interfejsów API oferujący kompletny i zrozumiały opis danych w Twoim API.
Laboratoria do praktyki
- VAmPI: Celowo podatne API do praktyki, obejmujące 10 najważniejszych podatności API OWASP.
Skuteczne sztuczki do testowania penetracyjnego interfejsów API
-
Podatności SOAP/XML: Badaj podatności XXE, chociaż deklaracje DTD są często ograniczone. Tagi CDATA mogą umożliwiać wstawianie payloadu, jeśli XML pozostaje poprawne.
-
Eskalacja uprawnień: Testuj punkty końcowe z różnymi poziomami uprawnień, aby zidentyfikować możliwości nieautoryzowanego dostępu.
-
Błędy konfiguracji CORS: Sprawdź ustawienia CORS pod kątem potencjalnej podatności na ataki CSRF z sesji uwierzytelnionych.
-
Odkrywanie punktów końcowych: Wykorzystaj wzorce interfejsu API do odkrywania ukrytych punktów końcowych. Narzędzia takie jak fuzzery mogą automatyzować ten proces.
-
Modyfikacja parametrów: Eksperymentuj z dodawaniem lub zamienianiem parametrów w żądaniach, aby uzyskać dostęp do nieautoryzowanych danych lub funkcjonalności.
-
Testowanie metod HTTP: Zmień metody żądania (GET, POST, PUT, DELETE, PATCH), aby odkryć nieoczekiwane zachowania lub ujawnianie informacji.
-
Manipulacja typem zawartości: Przełączaj się między różnymi typami zawartości (x-www-form-urlencoded, application/xml, application/json), aby testować problemy z parsowaniem lub podatności.
-
Zaawansowane techniki parametrów: Testuj z nieoczekiwanymi typami danych w ładunkach JSON lub manipuluj danymi XML w celu wstrzykiwania XXE. Spróbuj również zanieczyszczenia parametrów i znaków wieloznacznych dla szerszego testowania.
-
Testowanie wersji: Starsze wersje interfejsu API mogą być bardziej podatne na ataki. Zawsze sprawdzaj i testuj wiele wersji interfejsu API.
Narzędzia i zasoby do testowania penetracyjnego interfejsów API
- kiterunner: Doskonałe do odkrywania punktów końcowych interfejsu API. Użyj go do skanowania i prób siłowych ścieżek i parametrów w celu znalezienia celów API.
kr scan https://domain.com/api/ -w routes-large.kite -x 20
kr scan https://domain.com/api/ -A=apiroutes-220828 -x 20
kr brute https://domain.com/api/ -A=raft-large-words -x 20 -d=0
kr brute https://domain.com/api/ -w /tmp/lang-english.txt -x 20 -d=0
- Dodatkowe narzędzia takie jak automatic-api-attack-tool, Astra i restler-fuzzer oferują specjalne funkcje do testowania bezpieczeństwa interfejsów API, obejmujące symulację ataków, fuzzing i skanowanie podatności.
Materiały do nauki i ćwiczeń
-
OWASP API Security Top 10: Podstawowa lektura do zrozumienia powszechnych podatności interfejsów API (OWASP Top 10).
-
API Security Checklist: Kompleksowa lista kontrolna do zabezpieczania interfejsów API (link do GitHub).
-
Filtry Logger++: Dla poszukiwania podatności interfejsów API, Logger++ oferuje przydatne filtry (link do GitHub).
-
Lista punktów końcowych API: Wyselekcjonowana lista potencjalnych punktów końcowych API do celów testowych (gist na GitHub).
Referencje
Użyj Trickest, aby łatwo tworzyć i automatyzować zadania przy użyciu najbardziej zaawansowanych narzędzi społeczności.
Zdobądź dostęp już dziś:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!
Inne sposoby wsparcia HackTricks:
- Jeśli chcesz zobaczyć reklamę swojej firmy w HackTricks lub pobrać HackTricks w formacie PDF, sprawdź PLAN SUBSKRYPCJI!
- Zdobądź oficjalne gadżety PEASS & HackTricks
- Odkryj Rodzinę PEASS, naszą kolekcję ekskluzywnych NFT
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @carlospolopm.
- Podziel się swoimi trikami hakerskimi, przesyłając PR-y do HackTricks i HackTricks Cloud na GitHubie.