Web API Pentesting
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
![](https://book.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F600722126-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FJtticLwENZ4i7WwgHiQe%252Fuploads%252Fgit-blob-78abb7891633b1e8147b4e743e4f00af375d3cd6%252Fimage%2520%2848%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=830177ae&sv=1)
Use Trickest to easily build and automate workflows powered by the world's most advanced community tools. Get Access Today:
API Pentesting Methodology Summary
Pentesting API polega na uporządkowanym podejściu do odkrywania luk. Ten przewodnik zawiera kompleksową metodologię, podkreślając praktyczne techniki i narzędzia.
Understanding API Types
SOAP/XML Web Services: Wykorzystują format WSDL do dokumentacji, zazwyczaj dostępny pod ścieżkami
?wsdl
. Narzędzia takie jak SOAPUI i WSDLer (rozszerzenie Burp Suite) są niezbędne do analizowania i generowania żądań. Przykładowa dokumentacja jest dostępna na DNE Online.REST APIs (JSON): Dokumentacja często występuje w plikach WADL, jednak narzędzia takie jak Swagger UI oferują bardziej przyjazny interfejs do interakcji. Postman to cenne narzędzie do tworzenia i zarządzania przykładowymi żądaniami.
GraphQL: Język zapytań dla API, oferujący pełny i zrozumiały opis danych w twoim API.
Practice Labs
VAmPI: Celowo podatne API do praktyki, obejmujące 10 najważniejszych luk w API według OWASP.
Effective Tricks for API Pentesting
SOAP/XML Vulnerabilities: Zbadaj luki XXE, chociaż deklaracje DTD są często ograniczone. Tag CDATA może pozwolić na wstawienie ładunku, jeśli XML pozostaje ważny.
Privilege Escalation: Testuj punkty końcowe z różnymi poziomami uprawnień, aby zidentyfikować możliwości nieautoryzowanego dostępu.
CORS Misconfigurations: Zbadaj ustawienia CORS pod kątem potencjalnej wykonalności przez ataki CSRF z sesji uwierzytelnionych.
Endpoint Discovery: Wykorzystaj wzorce API do odkrywania ukrytych punktów końcowych. Narzędzia takie jak fuzzery mogą zautomatyzować ten proces.
Parameter Tampering: Eksperymentuj z dodawaniem lub zastępowaniem parametrów w żądaniach, aby uzyskać dostęp do nieautoryzowanych danych lub funkcji.
HTTP Method Testing: Zmieniaj metody żądań (GET, POST, PUT, DELETE, PATCH), aby odkryć nieoczekiwane zachowania lub ujawnienia informacji.
Content-Type Manipulation: Przełączaj się między różnymi typami treści (x-www-form-urlencoded, application/xml, application/json), aby testować problemy z analizą lub luki.
Advanced Parameter Techniques: Testuj z nieoczekiwanymi typami danych w ładunkach JSON lub baw się danymi XML w celu wstrzyknięć XXE. Spróbuj również zanieczyszczenia parametrów i znaków wieloznacznych dla szerszego testowania.
Version Testing: Starsze wersje API mogą być bardziej podatne na ataki. Zawsze sprawdzaj i testuj przeciwko wielu wersjom API.
Tools and Resources for API Pentesting
kiterunner: Doskonałe do odkrywania punktów końcowych API. Użyj go do skanowania i brutalnego wymuszania ścieżek i parametrów przeciwko docelowym API.
Dodatkowe narzędzia, takie jak automatic-api-attack-tool, Astra i restler-fuzzer, oferują dostosowane funkcjonalności do testowania bezpieczeństwa API, od symulacji ataków po fuzzing i skanowanie podatności.
Cherrybomb: To narzędzie do zabezpieczania API, które audytuje Twoje API na podstawie pliku OAS (narzędzie napisane w rust).
Zasoby do nauki i praktyki
OWASP API Security Top 10: Niezbędna lektura do zrozumienia powszechnych podatności API (OWASP Top 10).
Lista kontrolna bezpieczeństwa API: Kompletna lista kontrolna do zabezpieczania API (link do GitHub).
Filtry Logger++: Do poszukiwania podatności API, Logger++ oferuje przydatne filtry (link do GitHub).
Lista punktów końcowych API: Starannie wyselekcjonowana lista potencjalnych punktów końcowych API do celów testowych (gist GitHub).
Referencje
![](https://book.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F600722126-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FJtticLwENZ4i7WwgHiQe%252Fuploads%252Fgit-blob-78abb7891633b1e8147b4e743e4f00af375d3cd6%252Fimage%2520%2848%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=830177ae&sv=1)
Użyj Trickest, aby łatwo budować i automatyzować przepływy pracy zasilane przez najbardziej zaawansowane narzędzia społecznościowe na świecie. Uzyskaj dostęp już dziś:
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP:
HackTricks Training GCP Red Team Expert (GRTE)
Last updated