8.1 KiB
Web API Pentesting
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
Use Trickest to easily build and automate workflows powered by the world's most advanced community tools.
Get Access Today:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=web-api-pentesting" %}
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 możliwości wykorzystania 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 lukami.
- 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.
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
- https://github.com/BishopFox/sj: sj to narzędzie wiersza poleceń zaprojektowane do wspomagania audytu ujawnionych plików definicji Swagger/OpenAPI poprzez sprawdzanie powiązanych punktów końcowych API pod kątem słabej autoryzacji. Oferuje również szablony poleceń do ręcznego testowania podatności.
- 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: Kluczowa lektura do zrozumienia powszechnych podatności API (OWASP Top 10).
- Lista kontrolna bezpieczeństwa API: Kompletna lista kontrolna zabezpieczania API (GitHub link).
- Filtry Logger++: Do poszukiwania podatności API, Logger++ oferuje przydatne filtry (GitHub link).
- Lista punktów końcowych API: Starannie wyselekcjonowana lista potencjalnych punktów końcowych API do celów testowych (GitHub gist).
Odniesienia
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ś:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=web-api-pentesting" %}
{% hint style="success" %}
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)
Wsparcie dla HackTricks
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegram lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Podziel się trikami hackingowymi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów github.