Hakowanie interfejs - Helion
Autor: Corey J. Ball
Tytuł oryginału: Hacking APIs: Breaking Web Application Programming Interfaces
Tłumaczenie: Andrzej Watrak
ISBN: 978-83-8322-408-4
stron: 338, Format: 170x230, okładka: mi
Księgarnia: Helion
Tytuł oryginału: Hacking APIs: Breaking Web Application Programming Interfaces
Tłumaczenie: Andrzej Watrak
ISBN: 978-83-8322-408-4
stron: 338, Format: 170x230, okładka: mi
Księgarnia: Helion
Książka będzie dostępna od kwietnia 2023
Tagi: API
Je
Zobacz także:
- Spring i Spring Boot. Kurs video. Aplikacje REST API w praktyce 98,98 zł, (39,59 zł -60%)
- Django REST framework. Kurs video. Praktyczne wprowadzenie do projektowania interfejsów REST API 98,98 zł, (39,59 zł -60%)
- ASP .NET Core. Kurs video. Rozwijanie dodatkowych funkcjonalności Web API 89,00 zł, (35,60 zł -60%)
- Platforma Xamarin. Kurs video. Poziom drugi. Zaawansowane techniki tworzenia aplikacji cross-platform 99,00 zł, (39,60 zł -60%)
- REST API i Symfony. Kurs video. Nowoczesne aplikacje w PHP 149,00 zł, (67,05 zł -55%)
Spis treści
Hakowanie interfejsów API. Łamanie interfejsów programowania aplikacji internetowych -- spis treści
O autorze
O korektorze merytorycznym
Przedmowa
Podziękowania
Wprowadzenie
I. CZYM JEST BEZPIECZEŃSTWO INTERFEJSÓW API?
- 0. PRZYGOTOWANIE TESTÓW BEZPIECZEŃSTWA
- Uzyskanie upoważnienia
- Modelowanie zagrożeń przed testem interfejsu API
- Jakie cechy interfejsu API należy testować?
- Testy mechanizmów uwierzytelniania
- Zapory WAF
- Testy aplikacji mobilnych
- Audyt dokumentacji interfejsu API
- Testy limitu zapytań
- Ograniczenia i wykluczenia
- Testy chmurowych interfejsów API
- Testy odporności na ataki DoS
- Raportowanie i testowanie środków zaradczych
- Uwaga dotycząca programów dla łowców nagród
- Podsumowanie
- 1. JAK DZIAŁAJĄ APLIKACJE INTERNETOWE?
- Podstawy aplikacji internetowych
- Adres URL
- Zapytania HTTP
- Odpowiedzi HTTP
- Kody stanu HTTP
- Metody HTTP
- Połączenia stanowe i bezstanowe
- Bazy danych w aplikacjach internetowych
- Relacyjne bazy danych
- Nierelacyjne bazy danych
- Miejsce interfejsów API
- Podsumowanie
- Podstawy aplikacji internetowych
- 2. ANATOMIA INTERFEJSU API
- Jak działają internetowe interfejsy API?
- Typy internetowych interfejsów API
- REST
- GraphQL
- Specyfikacje REST API
- Formaty wymiany danych
- JSON
- XML
- YAML
- Uwierzytelnianie
- Podstawowe uwierzytelnienie
- Klucze API
- Tokeny JWT
- HMAC
- OAuth 2.0
- Brak uwierzytelnienia
- Praktyczne ćwiczenie: badanie interfejsu API Twittera
- Podsumowanie
- 3. TYPOWE PODATNOŚCI INTERFEJSÓW API
- Wycieki informacji
- Wadliwa autoryzacja na poziomie obiektu
- Wadliwa autoryzacja użytkownika
- Nadmierna ekspozycja danych
- Brak zasobów i limitu zapytań
- Wadliwa autoryzacja na poziomie funkcji
- Przypisanie masowe
- Błędna konfiguracja zabezpieczeń
- Wstrzykiwanie danych
- Niewłaściwe zarządzanie zasobami
- Błędy w procedurach biznesowych
- Podsumowanie
II. BUDOWANIE LABORATORIUM TESTOWANIA INTERFEJSÓW API
- 4. TWÓJ SYSTEM HAKERSKI
- Kali Linux
- Analiza aplikacji internetowych za pomocą DevTools
- Przechwytywanie i modyfikowanie zapytań za pomocą Burp Suite
- Konfiguracja FoxyProxy
- Instalacja certyfikatu Burp Suite
- Korzystanie z programu Burp Suite
- Przechwytywanie komunikacji
- Modyfikowanie zapytań za pomocą modułu Intruder
- Wysyłanie zapytań za pomocą programu Postman
- Edytor zapytań
- Środowisko
- Kolekcja
- Wysyłanie kolekcji zapytań
- Generowanie kodu
- Testy
- Integracja programów Postman i Burp Suite
- Dodatkowe narzędzia
- Przeprowadzanie rekonesansu za pomocą narzędzia OWASP Amass
- Wykrywanie punktów końcowych za pomocą programu Kiterunner
- Wykrywanie podatności za pomocą Nikto
- Wykrywanie podatności za pomocą OWASP ZAP
- Zakłócanie za pomocą Wfuzz
- Wykrywanie parametrów zapytań za pomocą Arjun
- Podsumowanie
- Ćwiczenie 1. Zliczenie kont użytkowników interfejsu API
- 5. PRZYGOTOWANIE PODATNYCH INTERFEJSÓW API
- Utworzenie hosta z systemem Linux
- Instalacja środowisk Docker i Docker Compose
- Instalacja podatnych aplikacji
- crAPI
- Pixi
- Juice Shop
- DVGA
- Inne podatne aplikacje
- Hakowanie interfejsów API w serwisach TryHackMe i HackTheBox
- Podsumowanie
- Ćwiczenie 2. Wyszukanie podatnych na ataki interfejsów API
III. ATAKOWANIE INTERFEJSÓW API
- 6. ODKRYWANIE INTERFEJSÓW API
- Rekonesans pasywny
- Proces rekonesansu pasywnego
- Hakowanie za pomocą Google
- Katalog interfejsów API - ProgrammableWeb
- Shodan
- OWASP Amass
- Informacje eksponowane w serwisie GitHub
- Rekonesans aktywny
- Proces rekonesansu aktywnego
- Ogólne skanowanie za pomocą Nmap
- Wyszukiwanie ukrytych ścieżek w pliku robots.txt
- Wyszukiwanie poufnych informacji za pomocą Chrome DevTools
- Weryfikacja interfejsu API za pomocą Burp Suite
- Skanowanie identyfikatorów URI za pomocą OWASP ZAP
- Wyszukiwanie identyfikatorów URI metodą brutalnej siły za pomocą programu Gobuster
- Wykrywanie zasobów interfejsów API za pomocą narzędzia Kiterunner
- Podsumowanie
- Ćwiczenie 3. Rekonesans aktywny w teście czarnej skrzynki
- Rekonesans pasywny
- 7. ANALIZA PUNKTÓW KOŃCOWYCH
- Pozyskiwanie informacji o zapytaniach
- Wyszukiwanie informacji w dokumentacji
- Import specyfikacji interfejsu API
- Inżynieria odwrotna interfejsu API
- Konfiguracja uwierzytelnienia w programie Postman
- Analiza funkcjonalności interfejsu
- Testowanie interfejsu zgodnie z przeznaczeniem
- Wykonywanie operacji jako uwierzytelniony użytkownik
- Analiza odpowiedzi
- Wyszukiwanie wycieków informacji
- Wyszukiwanie błędów w konfiguracji zabezpieczeń
- Szczegółowe komunikaty o błędach
- Słabe algorytmy szyfrowania
- Problematyczna konfiguracja
- Wyszukiwanie nadmiernej ekspozycji danych
- Wyszukiwanie błędów w procedurach biznesowych
- Podsumowanie
- Ćwiczenie 4. Utworzenie kolekcji crAPI i identyfikacja nadmiernej ekspozycji danych
- Pozyskiwanie informacji o zapytaniach
- 8. ATAKOWANIE PROCESU UWIERZYTELNIANIA UŻYTKOWNIKÓW
- Typowe ataki na procesy uwierzytelniania użytkowników
- Łamanie poświadczeń metodą brutalnej siły
- Reset hasła i atakowanie procesu uwierzytelnienia wieloskładnikowego metodą brutalnej siły
- Rozpylanie haseł
- Kodowanie Base64 w atakach metodą brutalnej siły
- Fałszowanie tokenów
- Analiza ręcznie załadowanej listy tokenów
- Analiza przechwytywanych tokenów
- Generowanie prawdopodobnych tokenów
- Łamanie tokenów JWT
- Identyfikacja i analiza tokenów JWT
- Eliminacja algorytmu kodowania
- Podmiana algorytmu
- Łamanie tokenu JWT
- Podsumowanie
- Ćwiczenie 5. Łamanie podpisu tokenu JWT w aplikacji crAPI
- Typowe ataki na procesy uwierzytelniania użytkowników
- 9. ZAKŁÓCANIE INTERFEJSU API
- Skuteczne zakłócanie interfejsów API
- Dobór ładunków zakłócających
- Wykrywanie anomalii
- Zakłócanie interfejsu wszerz i w głąb
- Zakłócanie interfejsu wszerz za pomocą programu Postman
- Zakłócanie interfejsu w głąb za pomocą programu Burp Suite
- Zakłócanie interfejsu w głąb za pomocą programu Wfuzz
- Zakłócanie interfejsu wszerz i identyfikowanie niewłaściwego zarządzania zasobami
- Testowanie metod HTTP za pomocą programu Wfuzz
- Głębsze zakłócanie interfejsu i omijanie weryfikacji danych wejściowych
- Zakłócanie interfejsu i przełączanie katalogów
- Podsumowanie
- Ćwiczenie 6. Zakłócanie interfejsu wszerz i niewłaściwe zarządzanie zasobami
- Skuteczne zakłócanie interfejsów API
- 10. EKSPLORACJA PROCESU AUTORYZACJI UŻYTKOWNIKÓW
- Identyfikacja podatności BOLA
- Określenie identyfikatora zasobu
- Test A-B podatności BOLA
- Test podatności BOLA z użyciem kanału bocznego
- Identyfikacja podatności BFLA
- Test A-B-A podatności BFLA
- Testowanie podatności BFLA za pomocą programu Postman
- Wskazówki dotyczące hakowania procesu autoryzacji
- Zmienne kolekcji w programie Postman
- Wyszukiwanie i zmienianie zapytań w programie Burp Suite
- Podsumowanie
- Ćwiczenie 7. Lokalizacja pojazdu innego użytkownika
- Identyfikacja podatności BOLA
- 11. PRZYPISANIE MASOWE
- Identyfikowanie przypisania masowego
- Rejestrowanie konta
- Nieautoryzowany dostęp do zasobów innej organizacji
- Identyfikacja kluczy
- Wyszukiwanie kluczy w dokumentacji
- Zakłócanie niezrozumiałych kluczy
- Losowe testowanie podatności na przypisanie masowe
- Testowanie podatności na przypisanie masowe za pomocą programów Arjun i Burp Suite Intruder
- Test podatności BFLA i przypisania masowego
- Podsumowanie
- Ćwiczenie 8. Modyfikacja ceny produktu w sklepie internetowym
- Identyfikowanie przypisania masowego
- 12. WSTRZYKIWANIE DANYCH
- Identyfikacja podatności na wstrzykiwanie danych
- Skrypty międzydomenowe (XSS)
- Skrypty międzyinterfejsowe (XAS)
- Wstrzykiwanie zapytań SQL
- Specjalne ciągi znaków w zapytaniach SQL
- SQLmap
- Wstrzykiwanie zapytań NoSQL
- Wstrzykiwanie poleceń systemu operacyjnego
- Podsumowanie
- Ćwiczenie 9. Wyłudzanie kuponów poprzez wstrzykiwanie zapytań NoSQL
IV. HAKOWANIE INTERFEJSÓW API W PRAKTYCE
- 13. OMIJANIE ZABEZPIECZEŃ I TESTOWANIE LIMITU ZAPYTAŃ
- Omijanie mechanizmów ochrony
- Jak funkcjonuje mechanizm ochrony?
- Wykrywanie mechanizmów ochrony
- Fikcyjne konta
- Techniki uników
- Omijanie zabezpieczeń za pomocą programu Burp Suite
- Omijanie zabezpieczeń za pomocą programu Wfuzz
- Testowanie limitu zapytań
- Przestrzeganie łagodnych limitów
- Modyfikacja ścieżki URL
- Fałszowanie nagłówka pochodzenia
- Rotacja adresów IP w Burp Suite
- Podsumowanie
- Omijanie mechanizmów ochrony
- 14. ATAKOWANIE INTERFEJSU GRAPHQL API
- Zapytania GraphQL i środowisko IDE
- Aktywny rekonesans aplikacji DVGA
- Skanowanie
- Badanie za pomocą przeglądarki
- Badanie za pomocą narzędzi DevTools
- Inżynieria odwrotna interfejsu GraphQL API
- Identyfikacja punktu końcowego metodą brutalnej siły
- Modyfikacja nagłówka w celu uzyskania dostępu do środowiska GraphiQL
- Inżynieria odwrotna interfejsu GraphQL API
- Inżynieria odwrotna interfejsu przy użyciu zapytania introspekcyjnego
- Analiza interfejsu GraphQL API
- Tworzenie zapytań za pomocą eksploratora dokumentacji
- Rozszerzenie InQL programu Burp Suite
- Zakłócanie i wstrzykiwanie poleceń
- Podsumowanie
- 15. WŁAMANIA DO INTERFEJSÓW API I POLOWANIA NA NAGRODYWłamania do interfejsów API i polowania na nagrody
- Włamania
- Peloton
- Poczta Stanów Zjednoczonych
- T-Mobile
- Polowania na nagrody
- Cena dobrego klucza API
- Błąd w procesie autoryzacji w prywatnym interfejsie API
- Starbucks - włamanie, którego nie było
- Podatność BOLA interfejsu GraphQL API w serwisie Instagram
- Podsumowanie
- Włamania
ZAKOŃCZENIE
A. LISTA KONTROLNA HAKERA
B. DODATKOWE MATERIAŁY
SKOROWIDZ