Metodologia Wykrywania Wrażliwości w Sieci
Reading time: 5 minutes
tip
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Ucz się i ćwicz Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Wsparcie dla HackTricks
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Dziel się trikami hackingowymi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów na githubie.
W każdym teście penetracyjnym aplikacji webowej istnieje wiele ukrytych i oczywistych miejsc, które mogą być wrażliwe. Ten post ma na celu stworzenie listy kontrolnej, aby potwierdzić, że przeszukałeś wrażliwości we wszystkich możliwych miejscach.
Proxies
tip
Obecnie aplikacje webowe zazwyczaj używają jakiegoś rodzaju pośredniczących proxy, które mogą być (nadużywane) do eksploatacji wrażliwości. Te wrażliwości wymagają, aby wrażliwe proxy było na miejscu, ale zazwyczaj potrzebują również dodatkowej wrażliwości w backendzie.
- Nadużywanie nagłówków hop-by-hop
- Zatrucie pamięci podręcznej/Oszuści pamięci podręcznej
- Smuggling żądań HTTP
- Smuggling H2C
- Inkluzja po stronie serwera/Inkluzja po stronie krawędzi
- Odkrywanie Cloudflare
- Inkluzja XSLT po stronie serwera
- Obchodzenie ochrony Proxy/WAF
Dane wejściowe użytkownika
tip
Większość aplikacji webowych pozwala użytkownikom na wprowadzanie danych, które będą później przetwarzane.
W zależności od struktury danych, które serwer oczekuje, niektóre wrażliwości mogą, ale nie muszą, mieć zastosowanie.
Wartości odzwierciedlone
Jeśli wprowadzone dane mogą w jakiś sposób być odzwierciedlone w odpowiedzi, strona może być podatna na kilka problemów.
- Inkluzja szablonów po stronie klienta
- Iniekcja poleceń
- CRLF
- Zawieszone znaczniki
- Inkluzja plików/Przechodzenie ścieżek
- Otwarte przekierowanie
- Zanieczyszczenie prototypu do XSS
- Inkluzja po stronie serwera/Inkluzja po stronie krawędzi
- Fałszerstwo żądań po stronie serwera
- Inkluzja szablonów po stronie serwera
- Odwrócone przechwytywanie kart
- Inkluzja XSLT po stronie serwera
- XSS
- XSSI
- XS-Search
Niektóre z wymienionych wrażliwości wymagają specjalnych warunków, inne po prostu wymagają, aby treść była odzwierciedlona. Możesz znaleźć interesujące poligloty do szybkiego testowania wrażliwości w:
Reflecting Techniques - PoCs and Polygloths CheatSheet
Funkcje wyszukiwania
Jeśli funkcjonalność może być używana do wyszukiwania jakichkolwiek danych w backendzie, być może możesz (nadużyć) jej do wyszukiwania dowolnych danych.
- Inkluzja plików/Przechodzenie ścieżek
- Iniekcja NoSQL
- Iniekcja LDAP
- ReDoS
- Iniekcja SQL
- Iniekcja XPATH
Formularze, WebSockety i PostMsgs
Gdy websocket wysyła wiadomość lub formularz pozwalający użytkownikom na wykonywanie działań, mogą wystąpić wrażliwości.
- Fałszerstwo żądań między witrynami
- Przechwytywanie WebSocketów między witrynami (CSWSH)
- Wrażliwości PostMessage
Nagłówki HTTP
W zależności od nagłówków HTTP podawanych przez serwer webowy, mogą występować pewne wrażliwości.
- Clickjacking
- Obchodzenie polityki bezpieczeństwa treści
- Hacking ciasteczek
- CORS - Błędy konfiguracyjne i obchodzenie
Obchodzenia
Istnieje kilka specyficznych funkcjonalności, w których pewne obejścia mogą być przydatne do ich ominięcia.
- Obchodzenie 2FA/OTP
- Obchodzenie procesu płatności
- Obchodzenie Captcha
- Obchodzenie logowania
- Warunek wyścigu
- Obchodzenie limitu szybkości
- Obchodzenie resetowania zapomnianego hasła
- Wrażliwości rejestracji
Obiekty strukturalne / Specyficzne funkcjonalności
Niektóre funkcjonalności będą wymagały, aby dane były ustrukturyzowane w bardzo specyficznym formacie (jak zserializowany obiekt językowy lub XML). Dlatego łatwiej jest zidentyfikować, czy aplikacja może być wrażliwa, ponieważ musi przetwarzać tego rodzaju dane.
Niektóre specyficzne funkcjonalności mogą być również wrażliwe, jeśli użyty jest specyficzny format wejścia (jak Iniekcje nagłówków e-mail).
- Deserializacja
- Iniekcja nagłówków e-mail
- Wrażliwości JWT
- Zewnętrzna jednostka XML
- Ataki GraphQL
- Ataki gRPC-Web
Pliki
Funkcjonalności, które pozwalają na przesyłanie plików, mogą być podatne na różne problemy.
Funkcjonalności, które generują pliki zawierające dane wejściowe użytkownika, mogą wykonywać nieoczekiwany kod.
Użytkownicy, którzy otwierają pliki przesyłane przez użytkowników lub automatycznie generowane, w tym dane wejściowe użytkownika, mogą być narażeni na niebezpieczeństwo.
Zarządzanie tożsamością zewnętrzną
Inne pomocne wrażliwości
Te wrażliwości mogą pomóc w eksploatacji innych wrażliwości.
tip
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Ucz się i ćwicz Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Wsparcie dla HackTricks
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Dziel się trikami hackingowymi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów na githubie.