Facebook - konwersja
Pobierz fragment

Black Hat GraphQL. Bezpieczeństwo API dla hakerów i pentesterów - ebook

Wydawnictwo:
Data wydania:
13 sierpnia 2024
Format ebooka:
PDF
Format PDF
czytaj
na laptopie
czytaj
na tablecie
Format e-booków, który możesz odczytywać na tablecie oraz laptopie. Pliki PDF są odczytywane również przez czytniki i smartfony, jednakze względu na komfort czytania i brak możliwości skalowania czcionki, czytanie plików PDF na tych urządzeniach może być męczące dla oczu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, EPUB
Format EPUB
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najpopularniejszych formatów e-booków na świecie. Niezwykle wygodny i przyjazny czytelnikom - w przeciwieństwie do formatu PDF umożliwia skalowanie czcionki, dzięki czemu możliwe jest dopasowanie jej wielkości do kroju i rozmiarów ekranu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, MOBI
Format MOBI
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najczęściej wybieranych formatów wśród czytelników e-booków. Możesz go odczytać na czytniku Kindle oraz na smartfonach i tabletach po zainstalowaniu specjalnej aplikacji. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
(3w1)
Multiformat
E-booki sprzedawane w księgarni Virtualo.pl dostępne są w opcji multiformatu - kupujesz treść, nie format. Po dodaniu e-booka do koszyka i dokonaniu płatności, e-book pojawi się na Twoim koncie w Mojej Bibliotece we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu przy okładce. Uwaga: audiobooki nie są objęte opcją multiformatu.
czytaj
na laptopie
Pliki PDF zabezpieczone watermarkiem możesz odczytać na dowolnym laptopie po zainstalowaniu czytnika dokumentów PDF. Najpowszechniejszym programem, który umożliwi odczytanie pliku PDF na laptopie, jest Adobe Reader. W zależności od potrzeb, możesz zainstalować również inny program - e-booki PDF pod względem sposobu odczytywania nie różnią niczym od powszechnie stosowanych dokumentów PDF, które odczytujemy każdego dnia.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na tablecie
Aby odczytywać e-booki na swoim tablecie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. Bluefire dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na czytniku
Czytanie na e-czytniku z ekranem e-ink jest bardzo wygodne i nie męczy wzroku. Pliki przystosowane do odczytywania na czytnikach to przede wszystkim EPUB (ten format możesz odczytać m.in. na czytnikach PocketBook) i MOBI (ten fromat możesz odczytać m.in. na czytnikach Kindle).
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na smartfonie
Aby odczytywać e-booki na swoim smartfonie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. iBooks dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
Pobierz fragment
79,00

Black Hat GraphQL. Bezpieczeństwo API dla hakerów i pentesterów - ebook

GraphQL powstał jako alternatywa dla REST API. Charakteryzuje się większą elastycznością, wydajnością i prostotą użytkowania. Technologia ta skupiła na sobie uwagę wielu firm, gdyż umożliwia optymalizację wydajności działania, skalowanie i ułatwia wdrażanie nowych rozwiązań. Rosnąca popularność GraphQL nie idzie jednak w parze z wiedzą o lukach w zabezpieczeniach i exploitach zagrażających API GraphQL.

Dzięki tej książce dowiesz się, jak testować zabezpieczenia API GraphQL technikami ofensywnymi, takimi jak testy penetracyjne. Zdobędziesz i ugruntujesz wiedzę o GraphQL, niezbędną dla analityka bezpieczeństwa czy inżyniera oprogramowania. Nauczysz się skutecznie atakować API GraphQL, co pozwoli Ci wzmocnić procedury, stosować zautomatyzowane testy bezpieczeństwa w potoku ciągłej integracji i wdrażania, a ponadto efektywnie weryfikować mechanizmy zabezpieczeń. Zapoznasz się również z raportami o znalezionych lukach w zabezpieczeniach i przejrzysz kod exploitów, a także przekonasz się, jak wielki wpływ wywierają na działalność przedsiębiorstw.

W książce między innymi:

  • zbieranie dokładnych informacji o celu ataku
  • zabezpieczanie API przez atakami typu DoS i niebezpiecznymi konfiguracjami serwera GraphQL
  • podszywanie się pod użytkownika z uprawnieniami administratora
  • wykrywanie luk w zabezpieczeniach w celu atakowania techniką wstrzykiwania kodu
  • ataki typu XSS i SSRF, przechwytywanie sesji WebSocket
  • pozyskiwanie informacji wrażliwych

Autorzy są wybitnymi inżynierami bezpieczeństwa i współzałożycielami grupy DEFCON Toronto. Nick Aleks specjalizuje się w bezpieczeństwie ofensywnym i od ponad dekady hakuje wszystko, nawet inteligentne budynki. Dolev Farhi prowadzi zespoły inżynierów bezpieczeństwa w branży technologii finansowych. Hobbystycznie analizuje luki w zabezpieczeniach urządzeń IoT, uczestniczy w wyzwaniach CFT i dodaje exploity do bazy danych Exploit Database.

Lektura obowiązkowa dla każdego, kto zajmuje się bezpieczeństwem API!, autor książki Hakowanie interfejsów API. Łamanie interfejsów programowania aplikacji internetowych

Spis treści

O autorach

O redaktorze technicznym

Podziękowania

Wstęp

Wprowadzenie

1. Wprowadzenie do GraphQL

  • Podstawy
    • Korzenie
    • Przykłady zastosowania
    • Specyfikacja
  • W jaki sposób jest prowadzona komunikacja?
    • Schemat
    • Zapytania
    • Analizator składni zapytania i funkcje resolverów
  • Jakie problemy rozwiązuje GraphQL?
  • API GraphQL kontra API REST
    • Przykład oparty na API REST
    • Przykład oparty na GraphQL
    • Inne różnice
  • Pierwsze zapytanie
  • Podsumowanie

2. Przygotowanie laboratorium do pracy z GraphQL

  • Środki bezpieczeństwa
  • Instalowanie dystrybucji Kali
  • Instalowanie klientów internetowych
    • Wykonywanie zapytań z poziomu powłoki
    • Wykonywanie zapytań za pomocą narzędzia graficznego
  • Przygotowanie serwera GraphQL, w którym istnieją luki w zabezpieczeniach
    • Instalowanie Dockera
    • Wdrożenie aplikacji Damn Vulnerable GraphQL Application
    • Testowanie DVGA
  • Instalowanie narzędzi przeznaczonych do hakowania GraphQL
    • Burp Suite
    • Clairvoyance
    • InQL
    • Graphw00f
    • BatchQL
    • Nmap
    • Commix
    • graphql-path-enum
    • EyeWitness
    • GraphQL Cop
    • CrackQL
  • Podsumowanie

3. Płaszczyzna ataku na GraphQL

  • Czym jest płaszczyzna ataku?
  • Język
    • Zapytanie, mutacja i subskrypcja
    • Nazwa operacji
    • Pole
    • Argument
    • Alias
    • Fragment
    • Zmienna
    • Dyrektywa
  • Typy danych
    • Obiekt
    • Skalar
    • Wyliczenie
    • Unia
    • Interfejs
    • Dane wejściowe
  • Introspekcja
  • Weryfikacja i wykonywanie zapytania
  • Najczęściej spotykane słabe strony
    • Reguła specyfikacji i słaba strona implementacji
    • Odmowa usług
    • Ujawnienie informacji
    • Błędy w mechanizmach uwierzytelnienia i autoryzacji
    • Wstrzykiwanie kodu
  • Podsumowanie

4. Rekonesans

  • Wykrywanie GraphQL
    • Najczęściej stosowane punkty końcowe
    • Najczęściej udzielane odpowiedzi na zapytania
    • Skanowanie za pomocą narzędzia Nmap
    • Pole __typename
    • Graphw00f
  • Wykrywanie narzędzi GraphiQL Explorer i GraphQL Playground
    • Używanie EyeWitness do skanowania pod kątem interfejsów graficznych
    • Próba wykonania zapytania za pomocą klienta graficznego
  • Sprawdzanie GraphQL za pomocą introspekcji
    • Wizualizacja introspekcji za pomocą GraphQL Voyager
    • Generowanie za pomocą SpectaQL dokumentacji introspekcji
    • Wyszukiwanie informacji w przypadku, gdy introspekcja jest wyłączona
  • Sprawdzanie implementacji GraphQL
    • Wykrywanie serwera za pomocą Graphw00f
    • Analiza wyników
  • Podsumowanie

5. Atak typu DoS

  • Kierunki ataków typu DoS w GraphQL
  • Zapytania cykliczne
    • Relacje cykliczne w schemacie GraphQL
    • Jak wykrywać relacje cykliczne?
    • Luki w zabezpieczeniach związane z zapytaniami cyklicznymi
    • Luki w zabezpieczeniach związane z introspekcją cykliczną
    • Luki w zabezpieczeniach związane z fragmentami cyklicznymi
  • Powielanie pola
    • Sposób działania luki związanej z powielaniem pola
    • Testowanie pod kątem luk w zabezpieczeniach związanych z powielaniem pola
  • Przeciążenie aliasu
    • Nadużywanie aliasów na potrzeby ataków typu DoS
    • Łączenie aliasów i zapytań cyklicznych
  • Przeciążanie dyrektywy
    • Nadużywanie dyrektyw w atakach typu DoS
    • Testowanie pod kątem luk w zabezpieczeniach związanych z przeciążaniem dyrektywy
  • Przeciążanie limitu obiektu
  • Grupowanie zapytań za pomocą tablicy
    • Zrozumienie sposobu działania grupowania zapytań za pomocą tablicy
    • Testowanie pod kątem luk w zabezpieczeniach związanych z grupowaniem zapytań za pomocą tablicy
    • Łączenie zapytań cyklicznych i grupowania zapytań za pomocą tablicy
    • Używanie BatchQL do wykrycia dostępności grupowania zapytań za pomocą tablicy
  • Przeprowadzanie za pomocą narzędzia GraphQL Cop audytu podatności na ataki typu DoS
  • Zabezpieczenia GraphQL przed atakami typu DoS
    • Analiza kosztu zapytania
    • Ograniczenia głębokości zapytania
    • Ograniczenia oparte na aliasach i tablicach
    • Ograniczenia związane z powielaniem pól
    • Ograniczanie liczby zwracanych rekordów
    • Lista zapytań dozwolonych
    • Automatycznie trwale przechowywane zapytania
    • Przekroczenie czasu oczekiwania
    • Zapora sieciowa aplikacji internetowej
    • Brama działająca jako proxy
  • Podsumowanie

6. Ujawnianie informacji

  • Identyfikowanie sposobów ujawniania informacji w GraphQL
  • Zautomatyzowane wyodrębnianie schematu za pomocą narzędzia InQL
  • Jak sobie radzić z wyłączoną introspekcją
    • Wykrywanie wyłączonej introspekcji
    • Wykorzystanie środowiska innego niż produkcyjne
    • Wykorzystanie pola meta __type
  • Używanie funkcjonalności sugerowania nazwy pola
    • Poznajemy algorytm Edit-Distance
    • Optymalizacja używania funkcjonalności sugerowania nazwy pola
    • Uwzględnienie kwestii bezpieczeństwa
  • Wstawianie listy nazw pól
  • Wstawianie listy nazw typów w polu meta __type
  • Automatyzacja za pomocą narzędzia Clairvoyance funkcji sugerowania nazwy pola i wstawiania listy nazw
  • Nadużywanie komunikatów o błędzie
    • Analiza szczegółowego komunikatu o błędzie
    • Włączenie debugowania
    • Wyodrębnianie informacji ze stosu wywołań
  • Ujawnianie informacji za pomocą metody GET
  • Podsumowanie

7. Ominięcie uwierzytelnienia i autoryzacji

  • Stan uwierzytelnienia i autoryzacji w GraphQL
    • Modele wdrożenia in-band i out-of-band
    • Najczęściej stosowane podejścia
  • Testowanie uwierzytelnienia
    • Wykrywanie warstwy uwierzytelnienia
    • Ataki typu brute force przeprowadzane na hasła z użyciem funkcjonalności wstawiania listy nazw
    • Atak typu brute force na hasło z użyciem narzędzia CrackQL
    • Używanie listy nazw dozwolonych operacji
    • Podrabianie i wyciekanie danych uwierzytelniających JWT
  • Testowanie autoryzacji
    • Wykrywanie warstwy autoryzacji
    • Sprawdzanie ścieżek za pomocą graphql-path-enum
    • Przeprowadzanie za pomocą narzędzia CrackQL ataków typu brute force na argumenty i pola
  • Podsumowanie

8. Wstrzykiwanie kodu

  • Związane ze wstrzykiwaniem kodu luki w zabezpieczeniach GraphQL
    • Pole rażenia danych wejściowych o złośliwym działaniu
    • OWASP Top 10
  • Płaszczyzna ataku polegającego na wstrzykiwaniu kodu
    • Argumenty zapytania
    • Argumenty pola
    • Argumenty dyrektywy zapytania
    • Nazwy operacji
  • Punkty dostarczania danych wejściowych
  • Wstrzykiwanie kodu SQL
    • Poznajemy typy ataków związanych z SQLi
    • Testowanie pod kątem luki SQLi
    • Testowanie aplikacji DVGA pod kątem luki związanej z SQLi z użyciem oprogramowania Burp Suite
    • Automatyzacja ataku polegającego na wstrzykiwaniu kodu SQL
  • Wstrzykiwanie polecenia systemu operacyjnego
    • Przykład
    • Ręczne testowanie aplikacji DVGA
    • Zautomatyzowane testowanie z użyciem frameworka Commix
    • Analiza kodu funkcji resolvera
  • Cross-Site Scripting
    • Luka XSS typu odbijana
    • Luka XSS typu przechowywana
    • Luka XSS oparta na modelu DOM
    • Testowanie aplikacji DVGA pod kątem luk XSS
  • Podsumowanie

9. Fałszowanie i przechwytywanie żądań

  • Atak typu CSRF
    • Wyszukiwanie działań, które mogą prowadzić do zmiany stanu
    • Sprawdzanie pod kątem luk w zabezpieczeniach związanych z metodami POST
    • Automatyczne wysyłanie formularza w trakcie ataku typu CSRF
    • Sprawdzanie pod kątem luk w zabezpieczeniach związanych z metodami GET
    • Atak polegający na wstrzykiwaniu kodu HTML
    • Testowanie automatyczne za pomocą narzędzi BatchQL i GraphQL Cop
    • Unikanie ataków typu CSRF
  • Atak typu SSRF
    • Poznajemy typy ataków SSRF
    • Wyszukiwanie podatnych na ataki operacji, pól i argumentów
    • Testowanie pod kątem luki SSRF
    • Zapobieganie atakom typu SSRF
  • Przechwytywanie WebSocket
    • Wyszukiwanie operacji subskrypcji
    • Przechwytywanie zapytania subskrypcji
    • Ochrona przed atakami typu CSWSH
  • Podsumowanie

10. Exploity i ujawnione luki w zabezpieczeniach

  • Odmowa usług
    • Ogromne dane używane podczas ataku
    • Wyrażenia regularne (CS Money)
    • Zapytanie cykliczne introspekcji (GitLab)
    • Aliasy dla powielania pola (Magento)
    • Grupowanie zapytań za pomocą tablicy na potrzeby powielania pola (WPGraphQL)
    • Fragmenty cykliczne (Agoo)
  • Nieprawidłowa autoryzacja
    • Umożliwienie dostępu do danych dezaktywowanym użytkownikom (GitLab)
    • Pozwolenie nieuprzywilejowanemu pracownikowi firmy na modyfikowanie adresu e-mail użytkownika (Shopify)
    • Ujawnienie liczby dozwolonych hakerów za pomocą obiektuteam (HackerOne)
    • Odczytywanie notatek prywatnych (GitLab)
    • Ujawnienie informacji na temat transakcji płatności (HackerOne)
  • Ujawnienie informacji
    • Lista użytkowników GraphQL (GitLab)
    • Uzyskanie dostępu do zapytania introspekcji za pomocą WebSocket (Nuri)
  • Wstrzykiwanie kodu
    • Wstrzykiwanie kodu SQL za pomocą parametru zapytania GET (HackerOne)
    • Wstrzykiwanie kodu SQL w argumencie Object (Apache SkyWalking)
    • Cross-Site Scripting (GraphQL Playground)
  • Cross-Site Request Forgery (GitLab)
  • Podsumowanie

A. Lista rzeczy do sprawdzenia podczas testowania GraphQL

  • Rekonesans
  • Odmowa usług
  • Ujawnianie informacji
  • Uwierzytelnienie i autoryzacja
  • Wstrzykiwanie kodu
  • Fałszowanie żądań
  • Przechwytywanie żądań

B. Zasoby dotyczące bezpieczeństwa GraphQL

  • Wskazówki i podpowiedzi dotyczące testów penetracyjnych
  • Laboratoria hakerskie do samodzielnego wypróbowania
  • Klipy wideo związane z zapewnieniem bezpieczeństwa
Kategoria: Informatyka
Zabezpieczenie: Watermark
Watermark
Watermarkowanie polega na znakowaniu plików wewnątrz treści, dzięki czemu możliwe jest rozpoznanie unikatowej licencji transakcyjnej Użytkownika. E-książki zabezpieczone watermarkiem można odczytywać na wszystkich urządzeniach odtwarzających wybrany format (czytniki, tablety, smartfony). Nie ma również ograniczeń liczby licencji oraz istnieje możliwość swobodnego przenoszenia plików między urządzeniami. Pliki z watermarkiem są kompatybilne z popularnymi programami do odczytywania ebooków, jak np. Calibre oraz aplikacjami na urządzenia mobilne na takie platformy jak iOS oraz Android.
ISBN: 978-83-289-1125-3
Rozmiar pliku: 8,4 MB

BESTSELLERY

Kategorie: