reklama - zainteresowany?

Hakowanie interfejs - Helion

Hakowanie interfejs

MIEJSCE 40 na liście TOP 20
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

Książka będzie dostępna od kwietnia 2023

Tagi: API

Je

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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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

ZAKOŃCZENIE

A. LISTA KONTROLNA HAKERA

B. DODATKOWE MATERIAŁY

SKOROWIDZ

Code, Publish & WebDesing by CATALIST.com.pl



(c) 2005-2024 CATALIST agencja interaktywna, znaki firmowe należą do wydawnictwa Helion S.A.