hacktricks/network-services-pentesting/pentesting-web/web-api-pentesting.md

107 lines
7.8 KiB
Markdown
Raw Normal View History

2024-02-11 01:46:25 +00:00
# Testowanie penetracyjne interfejsów API
2022-04-28 16:01:33 +00:00
<details>
2024-02-11 01:46:25 +00:00
<summary><strong>Dowiedz się, jak hakować AWS od zera do bohatera z</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-11 01:46:25 +00:00
Inne sposoby wsparcia HackTricks:
2023-12-31 01:24:39 +00:00
2024-02-11 01:46:25 +00:00
* Jeśli chcesz zobaczyć swoją **firmę reklamowaną w HackTricks** lub **pobrać HackTricks w formacie PDF**, sprawdź [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Zdobądź [**oficjalne gadżety PEASS & HackTricks**](https://peass.creator-spring.com)
* Odkryj [**Rodzinę PEASS**](https://opensea.io/collection/the-peass-family), naszą kolekcję ekskluzywnych [**NFT**](https://opensea.io/collection/the-peass-family)
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
2022-04-28 16:01:33 +00:00
</details>
<figure><img src="../../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
2022-06-06 22:28:05 +00:00
2024-02-11 01:46:25 +00:00
Użyj [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks), 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ś:
2022-06-06 22:28:05 +00:00
2023-01-01 16:19:07 +00:00
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
2022-06-06 22:28:05 +00:00
2021-06-08 18:47:44 +00:00
2024-02-11 01:46:25 +00:00
## Podsumowanie metodologii testowania penetracyjnego interfejsów API
2021-06-08 18:47:44 +00:00
2024-02-11 01:46:25 +00:00
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.
2024-02-11 01:46:25 +00:00
### **Zrozumienie typów interfejsów API**
2022-12-21 10:38:32 +00:00
2024-02-11 01:46:25 +00:00
- **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](http://www.dneonline.com/calculator.asmx).
2022-12-21 10:38:32 +00:00
2024-02-11 01:46:25 +00:00
- **Interfejsy API REST (JSON)**: Dokumentacja często jest dostępna w plikach WADL, ale narzędzia takie jak [Swagger UI](https://swagger.io/tools/swagger-ui/) zapewniają bardziej przyjazny interfejs użytkownika do interakcji. **Postman** to cenne narzędzie do tworzenia i zarządzania przykładowymi żądaniami.
2024-02-11 01:46:25 +00:00
- **GraphQL**: Język zapytań dla interfejsów API oferujący kompletny i zrozumiały opis danych w Twoim API.
2024-02-11 01:46:25 +00:00
### **Laboratoria do praktyki**
2024-02-11 01:46:25 +00:00
- [**VAmPI**](https://github.com/erev0s/VAmPI): Celowo podatne API do praktyki, obejmujące 10 najważniejszych podatności API OWASP.
2024-02-11 01:46:25 +00:00
### **Skuteczne sztuczki do testowania penetracyjnego interfejsów API**
2024-02-11 01:46:25 +00:00
- **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.
2024-02-11 01:46:25 +00:00
- **Eskalacja uprawnień**: Testuj punkty końcowe z różnymi poziomami uprawnień, aby zidentyfikować możliwości nieautoryzowanego dostępu.
2024-02-11 01:46:25 +00:00
- **Błędy konfiguracji CORS**: Sprawdź ustawienia CORS pod kątem potencjalnej podatności na ataki CSRF z sesji uwierzytelnionych.
2024-02-11 01:46:25 +00:00
- **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.
2024-02-11 01:46:25 +00:00
- **Modyfikacja parametrów**: Eksperymentuj z dodawaniem lub zamienianiem parametrów w żądaniach, aby uzyskać dostęp do nieautoryzowanych danych lub funkcjonalności.
2024-02-11 01:46:25 +00:00
- **Testowanie metod HTTP**: Zmień metody żądania (GET, POST, PUT, DELETE, PATCH), aby odkryć nieoczekiwane zachowania lub ujawnianie informacji.
2024-02-11 01:46:25 +00:00
- **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.
2024-02-11 01:46:25 +00:00
- **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.
2024-02-11 01:46:25 +00:00
- **Testowanie wersji**: Starsze wersje interfejsu API mogą być bardziej podatne na ataki. Zawsze sprawdzaj i testuj wiele wersji interfejsu API.
2024-02-11 01:46:25 +00:00
### **Narzędzia i zasoby do testowania penetracyjnego interfejsów API**
2024-02-11 01:46:25 +00:00
- **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.
2024-02-08 21:36:15 +00:00
```bash
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
```
2024-02-11 01:46:25 +00:00
- 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.
2024-02-11 01:46:25 +00:00
### **Materiały do nauki i ćwiczeń**
2024-02-11 01:46:25 +00:00
- **OWASP API Security Top 10**: Podstawowa lektura do zrozumienia powszechnych podatności interfejsów API ([OWASP Top 10](https://github.com/OWASP/API-Security/blob/master/2019/en/dist/owasp-api-security-top-10.pdf)).
2022-09-30 10:27:15 +00:00
2024-02-11 01:46:25 +00:00
- **API Security Checklist**: Kompleksowa lista kontrolna do zabezpieczania interfejsów API ([link do GitHub](https://github.com/shieldfy/API-Security-Checklist)).
2022-09-27 09:36:19 +00:00
2024-02-11 01:46:25 +00:00
- **Filtry Logger++**: Dla poszukiwania podatności interfejsów API, Logger++ oferuje przydatne filtry ([link do GitHub](https://github.com/bnematzadeh/LoggerPlusPlus-API-Filters)).
2024-02-11 01:46:25 +00:00
- **Lista punktów końcowych API**: Wyselekcjonowana lista potencjalnych punktów końcowych API do celów testowych ([gist na GitHub](https://gist.github.com/yassineaboukir/8e12adefbd505ef704674ad6ad48743d)).
2024-02-11 01:46:25 +00:00
## Referencje
2024-02-08 21:36:15 +00:00
* [https://github.com/Cyber-Guy1/API-SecurityEmpire](https://github.com/Cyber-Guy1/API-SecurityEmpire)
2022-09-05 10:17:20 +00:00
2022-04-28 16:01:33 +00:00
<figure><img src="../../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
2022-06-06 22:28:05 +00:00
2024-02-11 01:46:25 +00:00
Użyj [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks), aby łatwo tworzyć i **automatyzować zadania** przy użyciu najbardziej zaawansowanych narzędzi społeczności.\
Zdobądź dostęp już dziś:
2022-06-06 22:28:05 +00:00
2023-01-01 16:19:07 +00:00
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
2022-06-06 22:28:05 +00:00
2022-04-28 16:01:33 +00:00
<details>
2024-02-11 01:46:25 +00:00
<summary><strong>Naucz się hakować AWS od zera do bohatera z</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-11 01:46:25 +00:00
Inne sposoby wsparcia HackTricks:
2023-12-31 01:24:39 +00:00
2024-02-11 01:46:25 +00:00
* Jeśli chcesz zobaczyć **reklamę swojej firmy w HackTricks** lub **pobrać HackTricks w formacie PDF**, sprawdź [**PLAN SUBSKRYPCJI**](https://github.com/sponsors/carlospolop)!
* Zdobądź [**oficjalne gadżety PEASS & HackTricks**](https://peass.creator-spring.com)
* Odkryj [**Rodzinę PEASS**](https://opensea.io/collection/the-peass-family), naszą kolekcję ekskluzywnych [**NFT**](https://opensea.io/collection/the-peass-family)
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podziel się swoimi trikami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) na GitHubie.
2022-04-28 16:01:33 +00:00
</details>