7.9 KiB
Testowanie penetracyjne interfejsów API
Zacznij od zera i stań się ekspertem od hakowania AWS dzięki 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ź PLANY SUBSKRYPCYJNE!
- 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.
![](/Mirrors/hacktricks/media/commit/3b27bf8a5b9bbd4e759e485345ed795bc1efe8b3/.gitbook/assets/image%20%2845%29.png)
Użyj Trickest, aby łatwo tworzyć i automatyzować przepływy pracy 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" %}
Podsumowanie Metodologii Testowania Interfejsów API
Testowanie penetracyjne interfejsów API wymaga strukturalnego podejścia do odkrywania podatności. Ten przewodnik zawiera kompleksową metodologię, kładącą nacisk na praktyczne techniki i narzędzia.
Zrozumienie Typów API
- Usługi sieciowe SOAP/XML: Wykorzystaj format WSDL do dokumentacji, zazwyczaj dostępny pod ścieżkami
?wsdl
. Narzędzia takie jak SOAPUI i WSDLer (rozszerzenie Burp Suite) są przydatne do analizy i generowania żądań. Przykładowa dokumentacja jest dostępna na stronie DNE Online. - API REST (JSON): Dokumentacja często jest dostępna w plikach WADL, ale narzędzia takie jak Swagger UI zapewniają bardziej przyjazny interfejs do interakcji. Postman to wartościowe 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 Praktyczne
- VAmPI: Celowo podatne API do praktycznego ćwiczenia, obejmujące 10 najważniejszych podatności API według OWASP.
Skuteczne Triki do Testowania Interfejsów API
- Podatności SOAP/XML: Badaj podatności XXE, chociaż deklaracje DTD są często ograniczone. Tagi CDATA mogą umożliwić wstawienie ładunku, jeśli XML pozostaje poprawny.
- 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 Punktu Końcowego: Wykorzystaj wzorce API do odkrywania ukrytych punktów końcowych. Narzędzia typu fuzzers mogą zautomatyzować ten proces.
- Modyfikacja Parametrów: Eksperymentuj z dodawaniem lub zamianą parametrów w żądaniach, aby uzyskać dostęp do nieautoryzowanych danych lub funkcji.
- Testowanie Metod HTTP: Zróżnicuj metody żądań (GET, POST, PUT, DELETE, PATCH), aby odkryć nieoczekiwane zachowania lub ujawnienia informacji.
- Modyfikacja Typu Zawartości: Przełączaj się między różnymi typami zawartości (x-www-form-urlencoded, application/xml, application/json), aby testować problemy z analizą lub podatności.
- Zaawansowane Techniki Parametrów: Testuj z nieoczekiwanymi typami danych w ładunkach JSON lub baw się danymi XML w celu wstrzykiwania XXE. Spróbuj również zanieczyszczenia parametrów i znaków wieloznacznych dla szerszego testowania.
- Testowanie Wersji: Starsze wersje API mogą być bardziej podatne na ataki. Zawsze sprawdzaj i testuj przeciwko wielu wersjom API.
Narzędzia i Zasoby do Testowania Interfejsów API
- kiterunner: Doskonałe do odkrywania punktów końcowych API. Użyj go do skanowania i siłowego przeszukiwania ścieżek i parametrów w celu atakowania docelowych interfejsó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ą dostosowane funkcje do testowania bezpieczeństwa interfejsów API, obejmujące symulację ataków, fuzzing i skanowanie podatności.
- Cherrybomb: Jest to narzędzie do bezpieczeństwa API, które audytuje Twoje API na podstawie pliku OAS (narzędzie napisane w języku Rust).
Zasoby do nauki i praktyki
- 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 GitHuba).
- Filtry Logger++: Dla poszukiwania podatności interfejsów API, Logger++ oferuje przydatne filtry (link do GitHuba).
- Lista punktów końcowych API: Wyselekcjonowana lista potencjalnych punktów końcowych API do celów testowych (gist na GitHubie).
Odnośniki
![](/Mirrors/hacktricks/media/commit/3b27bf8a5b9bbd4e759e485345ed795bc1efe8b3/.gitbook/assets/image%20%2845%29.png)
Użyj Trickest, aby łatwo budować i automatyzować workflowy zasilane przez najbardziej zaawansowane narzędzia społeczności na świecie.
Zdobądź dostęp już dziś:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
Zacznij od zera i zostań ekspertem w hakowaniu AWS dzięki 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ź PLANY SUBSKRYPCYJNE!
- 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 na GitHubie.