Учебный лагерь по программе Bug Bounty. Руководство по отслеживанию я
Товар
- 0 раз купили
- 5 оценка
- 2 осталось
- 12 отзывов
Доставка
Характеристики
Описание
Bug Bounty Bootcamp. Przewodnik po tropieniu i zgłaszaniu luk w zabezpieczeniach
Vickie Li
Wyśledzenie luki w zabezpieczeniach aplikacji i przejęcie kontroli nad chronionym zasobem jest wyjątkowo ekscytującym doświadczeniem: oto dzięki własnym umiejętnościom można pokonywać kolejne ograniczenia i osiągać cele, które na pozór wydają się nierealne. Od pewnego czasu takie eksperymenty z hakowaniem można prowadzić całkowicie legalnie, a nawet nieźle na tym zarabiać. Wiele firm uruchamia programy bug bounty, w ramach których nagradza hakerów i badaczy bezpieczeństwa za odnajdywanie luk w zabezpieczeniach w korporacyjnych systemach.
Ta książka jest kompleksowym i praktycznym przewodnikiem po hakowaniu aplikacji internetowych w ramach udziału w programach bug bounty. Znajdziesz w niej wszystkie niezbędne informacje, od budowania relacji z klientami i pisania znakomitych raportów o błędach w zabezpieczeniach po naukę zaawansowanych technik hakerskich. Dowiesz się, jak przygotować własne laboratorium hakerskie i zgłębisz typowe techniki działania, takie jak XSS czy SQL injection. Zapoznasz się również ze strategiami prowadzenia rekonesansu i sposobami jego automatyzacji za pomocą skryptów powłoki bash. Nie zabrakło tu opisu hakowania aplikacji mobilnych, testowania interfejsów API i inspekcji kodu źródłowego pod kątem luk w zabezpieczeniach
Najciekawsze zagadnienia:
- identyfikowanie typowych luk w zabezpieczeniach sieciowych
- praca z pakietem Burp Suite
- kumulowanie wpływu wielu błędów w zabezpieczeniach
- obchodzenie zabezpieczeń metodą sanityzacji danych wejściowych i listy elementów blokowanych
- automatyzacja żmudnych zadań za pomocą fuzzingu i skryptów powłoki bash
- konfiguracja środowiska testowego dla aplikacji pracujących w Androidzie
Bug bounty: wyśledź, zhakuj, opisz - i zgarnij nagrodę!
O autorze:
Vickie Li jest programistką i ekspertką w dziedzinie bezpieczeństwa aplikacji internetowych. Bierze udział w programach bug bounty takich firm jak Facebook, Yelp czy Starbucks. Chętnie dzieli się swoją bogatą wiedzą o technikach poprawy bezpieczeństwa aplikacji i nieoczywistymi tajnikami pracy tropicielki bug bounty.
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
Гарантии
Гарантии
Мы работаем по договору оферты и предоставляем все необходимые документы.
Лёгкий возврат
Если товар не подошёл или не соответсвует описанию, мы поможем вернуть его.
Безопасная оплата
Банковской картой, электронными деньгами, наличными в офисе или на расчётный счёт.