hacktricks/pentesting-web/web-vulnerabilities-methodology.md

9.3 KiB

Metodologia Wykrywania Wrażliwości w Aplikacjach Webowych

{% hint style="success" %} Ucz się i ćwicz Hacking AWS:HackTricks Szkolenie AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP: HackTricks Szkolenie GCP Red Team Expert (GRTE)

Wsparcie dla HackTricks
{% endhint %}

W każdym teście penetracyjnym aplikacji webowych 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

{% hint style="info" %} 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 w miejscu, ale zazwyczaj potrzebują również dodatkowej wrażliwości w backendzie. {% endhint %}

Dane wejściowe użytkownika

{% hint style="info" %} Większość aplikacji webowych pozwala użytkownikom na wprowadzanie danych, które będą przetwarzane później.
W zależności od struktury danych, które serwer oczekuje, niektóre wrażliwości mogą, ale nie muszą, mieć zastosowanie. {% endhint %}

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.

Niektóre z wymienionych wrażliwości wymagają specjalnych warunków, inne wymagają jedynie, aby treść była odzwierciedlona. Możesz znaleźć kilka interesujących poliglotów do szybkiego testowania wrażliwości w:

{% content-ref url="pocs-and-polygloths-cheatsheet/" %} pocs-and-polygloths-cheatsheet {% endcontent-ref %}

Funkcjonalności 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.

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.

Nagłówki HTTP

W zależności od nagłówków HTTP podawanych przez serwer webowy, mogą występować pewne wrażliwości.

Obejścia

Istnieje kilka specyficznych funkcjonalności, w których pewne obejścia mogą być przydatne.

Obiekty strukturalne / Specyficzne funkcjonalności

Niektóre funkcjonalności będą wymagały, aby dane były ustrukturyzowane w bardzo specyficznym formacie (jak obiekt zserializowany w języku 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 Email).

Pliki

Funkcjonalności, które pozwalają na przesyłanie plików, mogą być podatne na kilka problemów.
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.

{% hint style="success" %} Ucz się i ćwicz Hacking AWS:HackTricks Szkolenie AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP: HackTricks Szkolenie GCP Red Team Expert (GRTE)

Wsparcie dla HackTricks
{% endhint %}