reklama - zainteresowany?

Bug Bounty Bootcamp. Przewodnik po tropieniu i zg - Helion

Bug Bounty Bootcamp. Przewodnik po tropieniu i zg
Autor: Vickie Li
Tytuł oryginału: Bug Bounty Bootcamp: The Guide to Finding and Reporting Web Vulnerabilities
Tłumaczenie: Lech Lachowski
ISBN: 978-83-283-9411-7
stron: 390, Format: 170x230, okładka: mi
Księgarnia: Helion

Książka będzie dostępna od września 2022

Tagi: Bezpiecze | Inne | Klasyka hakera

Wy

 

Zobacz także:

  • OSINT w praktyce. Kurs video. Dark web, OPSEC i wycieki danych
  • Ryzyko w cyberbezpiecze
  • Jak rabuj
  • Bezpiecze
  • Cyberbezpiecze

Spis treści

Bug Bounty Bootcamp. Przewodnik po tropieniu i zgłaszaniu luk w zabezpieczeniach -- spis treści

Przedmowa

Wstęp

Część I. Branża

1. Wybór programu bug bounty

  • Stan branży
  • Typy zasobów
    • Serwisy i aplikacje społecznościowe
    • Ogólne aplikacje internetowe
    • Aplikacje mobilne (Android, iOS i Windows)
    • Interfejsy API
    • Kod źródłowy i programy wykonywalne
    • Sprzęt i internet rzeczy
  • Platformy bug bounty
    • Zalety
    • Wady
  • Zakresy, wypłaty i czasy reakcji
    • Zakres programu
    • Kwoty wypłat
    • Czas reakcji
  • Programy prywatne
  • Wybór właściwego programu
  • Szybkie porównanie popularnych programów

2. Jak zapracować na sukces?

  • Pisanie dobrych raportów
    • Krok 1. Wymyśl opisowy tytuł
    • Krok 2. Napisz przejrzyste podsumowanie
    • Krok 3. Uwzględnij ocenę dotkliwości
    • Krok 4. Podaj szczegółowe kroki do odtworzenia ataku
    • Krok 5. Przedstaw dowód koncepcji
    • Krok 6. Opisz wpływ i scenariusze ataku
    • Krok 7. Zarekomenduj możliwe środki zaradcze
    • Krok 8. Sprawdź raport
    • Dodatkowe wskazówki dotyczące pisania lepszych raportów
  • Budowanie relacji z zespołem programistycznym
    • Stany raportu
    • Radzenie sobie z konfliktami
    • Budowanie partnerstwa
  • Dlaczego nie odnosisz sukcesu?
    • Dlaczego nie znajdujesz błędów?
    • Dlaczego Twoje raporty są odrzucane?
  • Co robić, gdy utkniesz w miejscu?
    • Krok 1. Zrób sobie przerwę!
    • Krok 2. Zbuduj zestaw umiejętności
    • Krok 3. Zyskaj nową perspektywę
  • Na koniec kilka słów z doświadczenia

Część II. Zaczynamy!

3. Jak działa internet?

  • Model klient-serwer
  • System nazw domenowych
  • Porty internetowe
  • Żądania i odpowiedzi HTTP
  • Kontrola bezpieczeństwa w internecie
    • Kodowanie zawartości
    • Zarządzanie sesją i pliki cookie HTTP
    • Uwierzytelnianie oparte na tokenach
    • Tokeny sieciowe JSON
    • Reguła tego samego pochodzenia
  • Ucz się programować

4. Konfiguracja środowiska i przechwytywanie ruchu

  • Wybór systemu operacyjnego
  • Konfigurowanie narzędzi podstawowych - przeglądarka i serwer proxy
    • Otwieranie osadzonej przeglądarki
    • Konfigurowanie przeglądarki Firefox
    • Konfigurowanie Burpa
  • Korzystanie z Burpa
    • Proxy
    • Intruder
    • Repeater
    • Decoder
    • Comparer
    • Zapisywanie żądań Burpa
  • Ostatnie uwagi na temat robienia notatek

5. Rekonesans przed hakowaniem aplikacji internetowych

  • Ręczna trawersacja celu
  • Google dorking
  • Wykrywanie zakresu
    • WHOIS i odwrotne WHOIS
    • Adresy IP
    • Parsowanie certyfikatu
    • Enumeracja poddomen
    • Enumeracja usług
    • Brute forcing katalogów
    • Indeksowanie witryn
    • Hostowanie zewnętrzne
    • Rekonesans z wykorzystaniem GitHuba
  • Inne podstępne techniki białego wywiadu
  • Fingerprinting stosu technologicznego
  • Pisanie własnych skryptów rekonesansowych
    • Podstawy pisania skryptów bashowych
    • Zapisywanie w pliku danych wyjściowych narzędzia
    • Dodanie do danych wyjściowych daty skanowania
    • Dodawanie opcji wyboru uruchamianych narzędzi
    • Uruchamianie dodatkowych narzędzi
    • Parsowanie wyników
    • Tworzenie raportu głównego
    • Skanowanie wielu domen
    • Pisanie biblioteki funkcji
    • Budowanie interaktywnych programów
    • Używanie specjalnych zmiennych i znaków
    • Planowanie automatycznego skanowania
  • Kilka słów na temat interfejsów API rekonesansu
  • Zacznij hakować!
  • Narzędzia wymienione w tym rozdziale
    • Wykrywanie zakresu
    • Biały wywiad
    • Fingerprinting stosu technologicznego
    • Automatyzacja

Część III. Luki w zabezpieczeniach sieciowych

6. Cross-site scripting

  • Mechanizmy
  • Rodzaje ataków XSS
    • Zapisywany XSS
    • Ślepy XSS
    • Odbijany XSS
    • XSS oparty na modelu DOM
    • XSS własny
  • Zapobieganie
  • Tropienie błędów XSS
    • Krok 1. Szukaj możliwości wprowadzania danych
    • Krok 2. Wstawiaj ładunki
    • Krok 3. Potwierdź działanie ładunku
  • Omijanie ochrony przed atakami XSS
    • Alternatywna składnia JavaScriptu
    • Wielkość liter i kodowanie
    • Błędy logiki filtra
  • Eskalacja ataku
  • Automatyzacja tropienia błędów XSS
  • Szukanie pierwszego błędu XSS!

7. Otwarte przekierowania

  • Mechanizmy
  • Zapobieganie
  • Tropienie błędów open redirect
    • Krok 1. Poszukaj parametrów przekierowania
    • Krok 2. Użyj Google dorkingu, aby znaleźć dodatkowe parametry przekierowania
    • Krok 3. Przetestuj otwarte przekierowania oparte na parametrach
    • Krok 4. Przetestuj otwarte przekierowania oparte na odsyłaczach
  • Omijanie ochrony przed atakami open redirect
    • Używanie autokorekty przeglądarki
    • Eksploitacja logiki wadliwego walidatora
    • Korzystanie z adresów URL danych
    • Eksploitacja dekodowania URL
    • Łączenie technik eksploitacji
  • Eskalacja ataku
  • Szukanie pierwszego otwartego przekierowania!

8. Porywanie kliknięć

  • Mechanizmy
  • Zapobieganie
  • Tropienie błędów clickjackingu
    • Krok 1. Poszukaj działań zmieniających stan
    • Krok 2. Sprawdź nagłówki odpowiedzi
    • Krok 3. Potwierdź lukę w zabezpieczeniach
  • Obchodzenie zabezpieczeń
  • Eskalacja ataku
  • Uwagi na temat dostarczania ładunku clickjackingu
  • Szukanie pierwszej luki clickjackingu!

9. Fałszowanie żądań przesyłanych między witrynami

  • Mechanizmy
  • Zapobieganie
  • Tropienie błędów CSRF
    • Krok 1. Namierz działania zmieniające stan
    • Krok 2. Poszukaj brakujących zabezpieczeń przed CSRF
    • Krok 3. Potwierdź lukę w zabezpieczeniach
  • Omijanie ochrony przed CSRF
    • Wykorzystanie clickjackingu
    • Zmiana metody żądania
    • Obejście tokenów CSRF przechowywanych na serwerze
    • Omijanie podwójnie przesyłanych tokenów CSRF
    • Omijanie kontroli nagłówka referencyjnego CSRF
    • Omijanie ochrony przed CSRF przy użyciu ataku XSS
  • Eskalacja ataku
    • Wykorzystanie luki CSRF do spowodowania wycieku informacji o użytkownikach
    • Wykorzystanie luki CSRF do utworzenia zapisywanego XSS-a własnego
    • Wykorzystanie luki CSRF do przejmowania kont użytkowników
  • Dostarczanie ładunku CSRF-a
  • Szukanie pierwszej luki CSRF!

10. Niezabezpieczone bezpośrednie odwołania do obiektów

  • Mechanizmy
  • Zapobieganie
  • Tropienie błędów IDOR
    • Krok 1. Utwórz dwa konta
    • Krok 2. Odkryj oferowane funkcjonalności
    • Krok 3. Przechwytuj żądania
    • Krok 4. Zmieniaj identyfikatory
  • Omijanie ochrony przed IDOR-ami
    • Kodowane i mieszane identyfikatory
    • Wyciekające identyfikatory
    • Przekaż aplikacji identyfikator, nawet jeśli o niego nie prosi
    • Szukaj IDOR-ów ślepych
    • Zmień metodę żądania
    • Zmień typ żądanego pliku
  • Eskalacja ataku
  • Automatyzacja ataku
  • Szukanie pierwszego IDOR-a!

11. Wstrzyknięcie SQL

  • Mechanizmy
    • Wstrzykiwanie kodu do zapytań SQL
    • Korzystanie ze wstrzyknięcia SQL drugiego rzędu
  • Zapobieganie
  • Tropienie błędów wstrzyknięcia SQL
    • Krok 1. Szukaj klasycznych wstrzyknięć SQL
    • Krok 2. Szukaj ślepych wstrzyknięć SQL
    • Krok 3. Eksfiltruj informacje za pomocą wstrzyknięć SQL
    • Krok 4. Szukaj wstrzyknięć NoSQL
  • Eskalacja ataku
    • Zdobądź wiedzę o bazie danych
    • Uzyskaj dostęp do powłoki internetowej
  • Automatyzacja wstrzyknięć SQL
  • Szukanie pierwszego wstrzyknięcia SQL!

12. Sytuacje wyścigu

  • Mechanizmy
  • Kiedy sytuacja wyścigu staje się luką w zabezpieczeniach?
  • Zapobieganie
  • Tropienie sytuacji wyścigu
    • Krok 1. Znajdź funkcjonalności podatne na sytuacje wyścigu
    • Krok 2. Wysyłaj żądania jednocześnie
    • Krok 3. Sprawdź wyniki
    • Krok 4. Przygotuj dowód słuszności koncepcji
  • Eskalacja sytuacji wyścigu
  • Szukanie pierwszej sytuacji wyścigu!

13. Fałszowanie żądań wykonywanych po stronie serwera

  • Mechanizmy
  • Zapobieganie
  • Tropienie błędów SSRF
    • Krok 1. Znajdź funkcjonalności podatne na ataki SSRF
    • Krok 2. Przekaż potencjalnie podatnym punktom końcowym wewnętrzne adresy URL
    • Krok 3. Sprawdź wyniki
  • Omijanie zabezpieczeń przed atakami SSRF
    • Omijanie list elementów dozwolonych
    • Omijanie list elementów blokowanych
  • Eskalacja ataku
    • Wykonaj skanowanie sieci
    • Pozyskaj metadane instancji
    • Eksploituj ślepe SSRF
    • Zaatakuj sieć
  • Szukanie pierwszego SSRF!

14. Niezabezpieczona deserializacja

  • Mechanizmy
    • PHP
    • Java
  • Zapobieganie
  • Tropienie błędów niezabezpieczonej deserializacji
  • Eskalacja ataku
  • Szukanie pierwszej niezabezpieczonej deserializacji!

15. Encja zewnętrzna XML-a

  • Mechanizmy
  • Zapobieganie
  • Tropienie błędów XXE
    • Krok 1. Znajdź punkty wejścia danych XML-a
    • Krok 2. Przeprowadź testy pod kątem klasycznych XXE
    • Krok 3. Przeprowadź testy pod kątem ślepych XXE
    • Krok 4. Osadź ładunki XXE w różnych typach plików
    • Krok 5. Przeprowadź testy pod kątem ataków XInclude
  • Eskalacja ataku
    • Odczytywanie plików
    • Inicjowanie ataków SSRF
    • Używanie ślepych XXE
    • Przeprowadzanie ataków DoS
  • Kilka słów o eksfiltracji danych przy użyciu XXE
  • Szukanie pierwszego błędu XXE!

16. Wstrzyknięcie szablonu

  • Mechanizmy
    • Silniki szablonów
    • Kod wstrzyknięcia szablonu
  • Zapobieganie
  • Tropienie błędów wstrzyknięcia szablonu
    • Krok 1. Szukaj lokalizacji wprowadzania danych przez użytkownika
    • Krok 2. Wykrywaj wstrzykiwanie szablonu dzięki przesyłaniu ładunków testowych
    • Krok 3. Określ stosowany silnik szablonów
  • Eskalacja ataku
    • Szukanie dostępu do systemu za pomocą kodu Pythona
    • Ucieczka z piaskownicy przy użyciu wbudowanych funkcji Pythona
    • Przesyłanie ładunków do testowania
  • Automatyzacja wstrzyknięcia szablonu
  • Szukanie pierwszego błędu wstrzyknięcia szablonu!

17. Błędy logiki aplikacji i uszkodzona kontrola dostępu

  • Błędy logiki aplikacji
  • Uszkodzona kontrola dostępu
    • Udostępnione panele administracyjne
    • Luki trawersacji katalogów
  • Zapobieganie
  • Tropienie błędów logiki aplikacji i uszkodzonej kontroli dostępu
    • Krok 1. Poznaj swój cel
    • Krok 2. Przechwytuj żądania podczas przeglądania
    • Krok 3. Myśl nieszablonowo
  • Eskalacja ataku
  • Szukanie pierwszego błędu logiki aplikacji lub uszkodzonej kontroli dostępu!

18. Zdalne wykonywanie kodu

  • Mechanizmy
    • Wstrzyknięcie kodu
    • Załączenie pliku
  • Zapobieganie
  • Tropienie błędów RCE
    • Krok 1. Zbierz informacje o celu
    • Krok 2. Zidentyfikuj podejrzane lokalizacje wprowadzania danych przez użytkownika
    • Krok 3. Prześlij ładunki testowe
    • Krok 4. Potwierdź lukę w zabezpieczeniach
  • Eskalacja ataku
  • Omijanie ochrony przed RCE
  • Szukanie pierwszego błędu RCE!

19. Błędy reguły tego samego pochodzenia

  • Mechanizmy
    • Eksploitacja mechanizmu CORS
    • Eksploitacja metody postMessage()
    • Eksploitacja JSONP
    • Omijanie SOP-u przy użyciu luki XSS
  • Tropienie błędów obejścia SOP-u
    • Krok 1. Sprawdź stosowanie technik rozluźniania SOP-u
    • Krok 2. Znajdź błędną konfigurację CORS-u
    • Krok 3. Znajdź błędy postMessage
    • Krok 4. Znajdź błędy JSONP
    • Krok 5. Rozważ środki zaradcze
  • Eskalacja ataku
  • Szukanie pierwszego błędu obejścia SOP-u!

20. Kwestie bezpieczeństwa związane z pojedynczym logowaniem

  • Mechanizmy
    • Współdzielenie plików cookie
    • SAML
    • OAuth
  • Tropienie błędów przejęcia poddomeny
    • Krok 1. Zrób listę poddomen celu
    • Krok 2. Znajdź niezarejestrowane strony
    • Krok 3. Zarejestruj stronę
  • Monitorowanie pod kątem przejęcia poddomeny
  • Tropienie błędów SAML-a
    • Krok 1. Znajdź odpowiedź SAML-a
    • Krok 2. Analizuj pola odpowiedzi
    • Krok 3. Omiń podpis
    • Krok 4. Ponownie zakoduj komunikat
  • Tropienie kradzieży tokenów OAuth
  • Eskalacja ataku
  • Szukanie pierwszego błędu obejścia SSO!

21. Ujawnienie informacji

  • Mechanizmy
  • Zapobieganie
  • Tropienie błędów ujawnienia informacji
    • Krok 1. Spróbuj ataku trawersacji ścieżek
    • Krok 2. Przeszukaj Wayback Machine
    • Krok 3. Przeszukaj strony wklejania i udostępniania tekstu
    • Krok 4. Zrekonstruuj kod źródłowy z udostępnionego katalogu .git
    • Krok 5. Znajdź informacje w publicznych plikach
  • Eskalacja ataku
  • Szukanie pierwszego błędu ujawnienia informacji!

Część IV. Techniki zaawansowane

22. Przeprowadzanie inspekcji kodu

  • Porównanie testów białej i czarnej skrzynki
  • Podejście szybkie: grep jest Twoim najlepszym przyjacielem
    • Niebezpieczne wzorce
    • Wyciekające sekrety i słabe szyfrowanie
    • Nowe poprawki i nieaktualne zależności
    • Komentarze programistów
    • Funkcjonalności debugowania, pliki konfiguracyjne i punkty końcowe
  • Podejście szczegółowe
    • Ważne funkcje
    • Dane wprowadzone przez użytkownika
  • Ćwiczenie - znajdź luki w zabezpieczeniach

23. Hakowanie aplikacji systemu Android

  • Konfigurowanie serwera proxy dla urządzeń mobilnych
  • Omijanie przypinania certyfikatu
  • Anatomia APK
  • Narzędzia
    • Android Debug Bridge
    • Android Studio
    • Apktool
    • Frida
    • Mobile Security Framework
  • Tropienie luk w zabezpieczeniach

24. Hakowanie interfejsów API

  • Czym są interfejsy API?
    • Interfejsy RESTful API
    • Interfejsy API SOAP
    • Interfejsy GraphQL API
    • Aplikacje skoncentrowane na API
  • Tropienie błędów API
    • Przeprowadzanie rekonesansu
    • Testowanie pod kątem uszkodzonej kontroli dostępu i wycieków informacji
    • Testowanie pod kątem problemów z ograniczaniem przepustowości
    • Testowanie pod kątem błędów technicznych

25. Automatyczne wykrywanie luk w zabezpieczeniach za pomocą fuzzerów

  • Czym jest fuzzing?
  • Jak działa fuzzer internetowy?
  • Proces fuzzingu
    • Krok 1. Określ punkty wstrzyknięcia danych
    • Krok 2. Wybierz listę ładunków
    • Krok 3. Rozpocznij fuzzing
    • Krok 4. Monitoruj wyniki
  • Fuzzing za pomocą Wfuzza
    • Enumeracja ścieżek
    • Brute forcing uwierzytelniania
    • Testowanie pod kątem typowych luk w zabezpieczeniach sieciowych
    • Więcej informacji o Wfuzzie
  • Porównanie fuzzingu i analizy statycznej
  • Pułapki fuzzingu
  • Poszerzanie zestawu narzędzi do zautomatyzowanego testowania

Skorowidz

Code, Publish & WebDesing by CATALIST.com.pl



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