mirror of
https://github.com/carlospolop/hacktricks
synced 2024-12-01 08:59:30 +00:00
92 lines
8.1 KiB
Markdown
92 lines
8.1 KiB
Markdown
# Testowanie penetracyjne interfejsów API sieci Web
|
|
|
|
<details>
|
|
|
|
<summary><strong>Zacznij od zera i stań się ekspertem od hakowania AWS dzięki</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
|
|
|
Inne sposoby wsparcia HackTricks:
|
|
|
|
* Jeśli chcesz zobaczyć swoją **firmę reklamowaną w HackTricks** lub **pobrać HackTricks w formacie PDF**, sprawdź [**PLANY SUBSKRYPCYJNE**](https://github.com/sponsors/carlospolop)!
|
|
* Kup [**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) na GitHubie.
|
|
|
|
</details>
|
|
|
|
<figure><img src="../../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
|
|
|
|
Użyj [**Trickest**](https://trickest.com/?utm\_source=hacktricks\&utm\_medium=text\&utm\_campaign=ppc\&utm\_term=trickest\&utm\_content=web-api-pentesting), aby łatwo tworzyć i **automatyzować przepływy pracy** przy użyciu najbardziej zaawansowanych narzędzi społecznościowych na świecie.\
|
|
Zdobądź dostęp już dziś:
|
|
|
|
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=web-api-pentesting" %}
|
|
|
|
## 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ępnej pod ścieżkami `?wsdl`. Narzędzia takie jak **SOAPUI** i **WSDLer** (rozszerzenie Burp Suite) są pomocne przy analizowaniu i generowaniu żądań. Przykładowa dokumentacja jest dostępna na stronie [DNE Online](http://www.dneonline.com/calculator.asmx).
|
|
* **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 do interakcji. **Postman** jest wartościowym narzędziem 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**](https://github.com/erev0s/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 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 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 wstrzyknięciami 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**](https://github.com/assetnote/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 znalezienia celów API.
|
|
```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
|
|
```
|
|
* 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ę ataku, fuzzing i skanowanie podatności.
|
|
* [**Cherrybomb**](https://github.com/blst-security/cherrybomb): Jest to narzędzie do bezpieczeństwa interfejsów 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](https://github.com/OWASP/API-Security/blob/master/2019/en/dist/owasp-api-security-top-10.pdf)).
|
|
* **API Security Checklist**: Kompleksowa lista kontrolna do zabezpieczania interfejsów API ([link do GitHuba](https://github.com/shieldfy/API-Security-Checklist)).
|
|
* **Filtry Logger++**: Dla poszukiwania podatności interfejsów API, Logger++ oferuje przydatne filtry ([link do GitHuba](https://github.com/bnematzadeh/LoggerPlusPlus-API-Filters)).
|
|
* **Lista punktów końcowych API**: Wyselekcjonowana lista potencjalnych punktów końcowych API do celów testowych ([gist na GitHubie](https://gist.github.com/yassineaboukir/8e12adefbd505ef704674ad6ad48743d)).
|
|
|
|
## Odnośniki
|
|
|
|
* [https://github.com/Cyber-Guy1/API-SecurityEmpire](https://github.com/Cyber-Guy1/API-SecurityEmpire)
|
|
|
|
<figure><img src="../../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
|
|
|
|
Użyj [**Trickest**](https://trickest.com/?utm\_source=hacktricks\&utm\_medium=text\&utm\_campaign=ppc\&utm\_term=trickest\&utm\_content=web-api-pentesting), aby łatwo tworzyć 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_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=web-api-pentesting" %}
|
|
|
|
<details>
|
|
|
|
<summary><strong>Zacznij od zera i zostań ekspertem w hakowaniu AWS dzięki</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
|
|
|
Inne sposoby wsparcia HackTricks:
|
|
|
|
* Jeśli chcesz zobaczyć swoją **firmę reklamowaną w HackTricks** lub **pobrać HackTricks w formacie PDF**, sprawdź [**PLANY SUBSKRYPCYJNE**](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) na GitHubie.
|
|
|
|
</details>
|