Praca z proxy
Praca z proxy Ogma zaczyna się od przechwytywania, a kończy na dowodach do ponownego wykorzystania. Główne widoki odpowiadają sposobowi pracy testerów penetracyjnych z ruchem: odkrywanie, analiza, testowanie, potwierdzanie i raportowanie.
Układ obszaru roboczego
| Sekcja | Widoki |
|---|---|
| Przegląd | Mapa witryny, Punkty końcowe, Zakresy testów, Filtry |
| Proxy | Przechwytywanie, Historia HTTP, Historia WS / SSE, Dopasowanie i zamiana |
| Testowanie | Ponowne wysyłanie, Automatyzacja, Przepływy pracy, Środowisko |
| Narzędzia pomocnicze | Skaner, OAST, Dekoder, Porównaj, Sekwencje żądań, Wyścigi / przemyt żądań, notatki i narzędzia do tokenów |
| Analiza | Wyszukiwanie, Ustalenia, Eksporty |
| Obszar roboczy | Pliki, Wtyczki |
Historia HTTP
Historia HTTP jest główną tabelą dowodów. Używaj jej, aby:
- Analizować nagłówki i treść żądań oraz odpowiedzi.
- Filtrować według metody, hosta, ścieżki, statusu, źródła, tagów, zawartości treści i czasu.
- Oznaczać wpisy tagami lub kolorami do wstępnej oceny.
- Wysyłać żądania do Ponownego wysyłania, Automatyzacji, Skanera, Ustaleń lub eksportów zewnętrznych.
- Ukrywać zakłócające analizę zasoby statyczne przy zachowaniu przechwyconych danych.
Zalecany przebieg pracy:
- Przechwyć reprezentatywną ścieżkę użytkownika.
- Odfiltruj ruch do aktywnego zakresu testów.
- Oznacz tagami żądania uwierzytelniania, zmieniające stan, przesyłania plików, administracyjne i API.
- Wyślij szczególnie wartościowe żądania do Ponownego wysyłania.
- Dodaj potwierdzone problemy do Ustaleń wraz z powiązanymi dowodami.
Przechwytywanie
Przechwytywanie wstrzymuje pasujący ruch przed przekazaniem go dalej.
Używaj Przechwytywania, gdy potrzebujesz:
- Zmodyfikować żądania przed dotarciem do celu.
- Odrzucić niepożądane żądania.
- Obserwować zachowanie aplikacji dokładnie przy zmianie stanu.
- Testować przemyt żądań, warunki wyścigu lub granice autoryzacji z kontrolowanym ruchem.
Nie dopuszczaj do nadmiernego wzrostu kolejki. Jeśli kolejka przechwytywania się zapełni, Ogma chroni przebieg pracy, przekazując nowy ruch dalej zamiast blokować klienta bez końca.
Dopasowanie i zamiana
Dopasowanie i zamiana automatycznie modyfikuje ruch przechodzący przez proxy.
Typowe zastosowania:
- Dodawanie nagłówków testowych.
- Zastępowanie tokenów bearer lub ciasteczek.
- Wymuszanie flag funkcji.
- Ujednolicanie nagłówków zakłócających analizę.
- Wstrzykiwanie nagłówków śledzenia do korelacji dzienników.
Używaj wąskich kryteriów dopasowania. Zbyt szerokie reguły mogą uszkodzić niezwiązany ruch i utrudnić odtwarzanie ustaleń.
WebSocket i SSE
Ogma śledzi ruch WebSocket i zdarzenia wysyłane przez serwer oddzielnie od wierszy żądań i odpowiedzi HTTP.
Używaj Historii WS / SSE, aby:
- Analizować metadane połączenia.
- Przeglądać ładunki wiadomości.
- Przeszukiwać zawartość strumieni.
- Wysyłać ruch WebSocket do Ponownego wysyłania WS, gdy potrzebujesz ponownie się połączyć lub przetestować warianty wiadomości.
Mapa witryny i punkty końcowe
Korzystaj z tych widoków przeglądowych od początku i regularnie:
- Mapa witryny pokazuje przechwyconą strukturę hostów i ścieżek.
- Punkty końcowe pokazują ścieżki API i trasy odkryte w JavaScript, odpowiedziach i przechwyconym ruchu.
Widoki te pomagają zidentyfikować nieprzetestowane obszary przed przejściem do testów aktywnych.
Wyszukiwanie i filtry
Ogma obsługuje filtrowanie w stylu HTTPQL. Używaj zapisanych filtrów do powtarzalnych zapytań służących wstępnej ocenie.
Przykłady:
text
req.host:example.com AND resp.code:500text
req.path.cont:"/admin" OR req.path.cont:"/api/"text
resp.header["set-cookie"].existsSkładnię opisano na stronie HTTPQL i StreamQL.
Ustalenia
Ustalenia to warstwa raportowania. Dobre ustalenie powinno zawierać:
- Krótki tytuł.
- Istotność i poziom pewności.
- Host, ścieżkę lub funkcję, której dotyczy problem.
- Powiązane dowody z Historii HTTP, Ponownego wysyłania, Automatyzacji lub ruchu WebSocket.
- Kroki odtworzenia.
- Wpływ i sposób naprawy.
Wynik skanera to punkt wyjścia. Przed eksportem ustaleń powiąż z nimi jednoznaczne dowody w postaci żądań i odpowiedzi.