DOM Invader

Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Najeźdźca DOM

Najeźdźca DOM to narzędzie przeglądarki zainstalowane w wbudowanej przeglądarce Burp. Pomaga w wykrywaniu podatności na XSS DOM za pomocą różnych źródeł i ujść, w tym wiadomości internetowych i zanieczyszczenia prototypu. Narzędzie jest zainstalowane domyślnie jako rozszerzenie.

Najeźdźca DOM integruje zakładkę w panelu Narzędzi Deweloperskich przeglądarki umożliwiającą:

  1. Identyfikację kontrolowalnych ujść na stronie internetowej do testowania XSS DOM, dostarczając kontekstu i szczegółów dotyczących oczyszczania.

  2. Rejestrowanie, edytowanie i ponowne wysyłanie wiadomości internetowych wysłanych za pomocą metody postMessage() do testowania XSS DOM. Najeźdźca DOM może również automatycznie wykrywać podatności za pomocą specjalnie przygotowanych wiadomości internetowych.

  3. Wykrywanie źródeł zanieczyszczenia prototypu po stronie klienta i skanowanie kontrolowalnych gadżetów wysyłanych do ryzykownych ujść.

  4. Identyfikacja podatności na zanieczyszczenie DOM.

Włącz to

W wbudowanej przeglądarce Burp przejdź do rozszerzenia Burp i włącz je:

Teraz odśwież stronę i w Narzędziach Deweloperskich znajdziesz zakładkę Najeźdźca DOM:

Wstrzyknij kanarka

Na poprzednim obrazie możesz zobaczyć losową grupę znaków, która jest kanarkiem. Teraz powinieneś zacząć wstrzykiwać go w różne części strony internetowej (parametry, formularze, adres URL...) i za każdym razem kliknąć szukaj. Najeźdźca DOM sprawdzi, czy kanarek zakończył się w jakimkolwiek interesującym ujściu, które można by wykorzystać.

Co więcej, opcje Wstrzyknij parametry URL i Wstrzyknij formularze automatycznie otworzą nową zakładkę wstrzykując kanarka w każdym parametrze URL i formularzu, które znajdzie.

Wstrzyknij pusty kanarek

Jeśli chcesz tylko znaleźć potencjalne ujścia, jakie strona może mieć, nawet jeśli nie są one wykorzystywalne, możesz szukać pustego kanarka.

Wiadomości internetowe

Najeźdźca DOM pozwala testować XSS DOM za pomocą wiadomości internetowych z funkcjami takimi jak:

  1. Rejestrowanie wiadomości internetowych wysłanych za pomocą postMessage(), podobnie jak rejestrowanie historii żądań/odpowiedzi HTTP w Burp Proxy.

  2. Modyfikacja i ponowne wysyłanie wiadomości internetowych w celu ręcznego testowania XSS DOM, podobnie jak funkcja Burp Repeater.

  3. Automatyczna zmiana i wysyłanie wiadomości internetowych do sondowania XSS DOM.

Szczegóły wiadomości

Szczegółowe informacje o każdej wiadomości można zobaczyć, klikając na nią, co obejmuje dostęp do właściwości origin, data lub source wiadomości przez JavaScript po stronie klienta.

  • origin : Jeśli informacje o pochodzeniu wiadomości nie są sprawdzane, możesz wysłać wiadomości międzydomenowe do obsługi zdarzeń z dowolnej zewnętrznej domeny. Ale jeśli jest sprawdzane, nadal może to być niebezpieczne.

  • data: Tutaj jest wysyłana ładunek. Jeśli te dane nie są używane, ujście jest bezużyteczne.

  • source: Ocena, czy właściwość źródłowa, zazwyczaj odnosząca się do ramki, jest walidowana zamiast pochodzenia. Nawet jeśli to jest sprawdzane, nie zapewnia to, że walidacja nie może zostać obejścia.

Odpowiedz na wiadomość

  1. Z widoku Wiadomości kliknij dowolną wiadomość, aby otworzyć okno dialogowe z szczegółami wiadomości.

  2. Edytuj pole Dane według potrzeb.

  3. Kliknij Wyślij.

Zanieczyszczenie Prototypu

Najeźdźca DOM może również szukać podatności na zanieczyszczenie prototypu. Najpierw musisz to włączyć:

Następnie będzie szukać źródeł, które umożliwiają dodanie dowolnych właściwości do Object.prototype.

Jeśli coś zostanie znalezione, pojawi się przycisk Test, aby przetestować znalezione źródło. Kliknij na niego, pojawi się nowa zakładka, utwórz obiekt w konsoli i sprawdź, czy testproperty istnieje:

let b = {}
b.testproperty

Gdy już znajdziesz źródło, możesz przeskanować urządzenie:

  1. Nowa karta zostanie otwarta przez DOM Invader, gdy przycisk Skanuj urządzenia, który znajduje się obok zidentyfikowanego źródła zanieczyszczenia prototypu w widoku DOM, zostanie kliknięty. Następnie rozpocznie się skanowanie odpowiednich urządzeń.

  2. W międzyczasie, w tej samej karcie, karta DOM Invader powinna być otwarta w panelu Narzędzi deweloperskich. Po zakończeniu skanowania, wszystkie ujścia dostępne za pomocą zidentyfikowanych urządzeń są wyświetlane w widoku DOM. Na przykład, właściwość urządzenia o nazwie html, przekazywana do ujścia innerHTML, jest pokazana na poniższym przykładzie.

Nadpisywanie DOM

Na poprzednim obrazie można zauważyć, że skanowanie nadpisywania DOM można włączyć. Gdy to zrobisz, DOM Invader zacznie szukać podatności na nadpisywanie DOM.

Odnośniki

Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Last updated