Przejdź do treści

Skanowanie ​

Ogma zawiera skanery pasywne i aktywne. Skanowanie pasywne analizuje przechwycony ruch. Skanowanie aktywne wysyła zmodyfikowane żądania i weryfikuje ustalenia na podstawie zachowania odpowiedzi, czasu, odzwierciedlenia danych i porównania z wartością bazową.

Skaner pasywny ​

Skaner pasywny ocenia przechwycone wpisy HTTP bez wysyłania nowego ruchu.

Wykrywa między innymi:

  • Ujawnianie błędów SQL, NoSQL, LDAP, szablonów, deserializacji i XML.
  • Brakujące lub słabe nagłówki bezpieczeństwa.
  • Problemy z flagami ciasteczek.
  • Błędną konfigurację CORS.
  • Ujawnione sekrety, klucze prywatne, dane kont usług, webhooki i tokeny.
  • Ujawnione dane systemu kontroli wersji, konfigurację, dokumentację API lub poufne pliki.
  • Problemy dotyczące JWT, takie jak algorytm none, długi termin ważności i użycie HMAC.
  • Powolne odpowiedzi i niebezpieczne metody HTTP.

Ustalenia pasywne przydają się do wstępnej oceny, ale nadal wymagają przeglądu. Ustalenia dotyczące nagłówków i polityk często zależą od kontekstu aplikacji.

Uruchamianie analizy pasywnej ​

  1. Przechwyć ruch.
  2. Otwórz Narzędzia pomocnicze > Skaner.
  3. Wybierz Skaner pasywny.
  4. Kliknij Skanuj całą historię.
  5. Przejrzyj utworzone ustalenia w Ustaleniach.

Niestandardowe reguły pasywne konfiguruje się w Ustawienia > Skaner.

Skaner aktywny ​

Skaner aktywny wstrzykuje ładunki w potencjalne miejsca w żądaniu i weryfikuje odpowiedź celu.

Zaimplementowane rodziny kontroli:

KontrolaSposób potwierdzania
Wstrzykiwanie SQLSzuka błędów SQL lub powtarzalnego opóźnienia powyżej zmierzonej wartości bazowej dla ładunków czasowych.
Odbity XSSWymaga odzwierciedlenia ładunku w odpowiedzi HTML bez oczekiwanego kodowania.
Przechodzenie po katalogach / LFIWymaga wskaźników zawartości pliku nieobecnych w odpowiedzi bazowej.
Wstrzykiwanie poleceń systemowychWymaga wyniku polecenia lub powtarzalnego opóźnienia powyżej zmierzonej wartości bazowej dla ładunków czasowych.
SSTIUżywa deterministycznych ładunków z obliczeniami matematycznymi w szablonie i wymaga obliczonego wyniku w odpowiedzi.
SSRFWymaga dowodów w postaci metadanych lub banera usługi uzyskanych ze wstrzykniętych ładunków URL.
Otwarte przekierowanieWymaga odpowiedzi przekierowującej do wstrzykniętej domeny zewnętrznej.

Skaner celowo nie traktuje ogólnej odpowiedzi 200 OK jako dowodu podatności.

Kontrole z implementacją szczątkową ​

Lista kontroli aktywnych może zawierać kontrole oznaczone jako mające implementację szczątkową. Są widoczne dla przejrzystości planu rozwoju, ale nie tworzą ustaleń. W obecnym backendzie XXE i niebezpieczne przesyłanie plików nie są automatycznie potwierdzane bez weryfikacji poza kanałem głównym lub właściwej dla aplikacji.

Skanuj wszystko aktywnie ​

Skanuj wszystko aktywnie testuje ostatnio przechwycone żądania, wstrzykując ładunki do:

  • Parametrów zapytania.
  • Parametrów formularza w treści.
  • Wartości JSON.
  • Segmentów ścieżki.
  • Wybranych nagłówków, gdy ta opcja jest włączona.

Ustaw zakres testów przed skanowaniem aktywnym, aby skupić ruch i wyniki na celu.

Zalecany przebieg pracy:

  1. Zdefiniuj i aktywuj zakres testów.
  2. Przechwyć reprezentatywny ruch celu.
  3. Zacznij od analizy pasywnej.
  4. Uruchom skanowanie aktywne wybranych żądań przed użyciem opcji Skanuj wszystko aktywnie.
  5. Przejrzyj żądania dowodowe i dowody z odpowiedzi w Ustaleniach.
  6. Usuń wyniki fałszywie dodatnie zamiast raportować surowe wyniki skanera.

Jakość dowodów ​

Ustalenie skanera o wysokiej jakości powinno odpowiadać na pytania:

  • Który parametr lub dane wejściowe przetestowano?
  • Jakiego ładunku użyto?
  • Co zmieniło się w odpowiedzi?
  • Czy zachowanie nie występowało w odpowiedzi bazowej?
  • Czy problem jest powtarzalny?
  • Czy istnieją powiązane dowody w Ogma?

Gdy dowody są niepewne, obniż poziom pewności lub zachowaj wynik jako notatkę do czasu potwierdzenia.

Oprogramowanie własnościowe. Wszelkie prawa zastrzeżone.