SOME - Same Origin Method Execution

Nauka hakowania AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

WhiteIntel to wyszukiwarka zasilana przez dark web, która oferuje darmowe funkcje do sprawdzania, czy firma lub jej klienci zostali skompromitowani przez złośliwe oprogramowanie kradnące informacje.

Ich głównym celem WhiteIntel jest zwalczanie przejęć kont i ataków ransomware wynikających z złośliwego oprogramowania kradnącego informacje.

Możesz sprawdzić ich stronę internetową i wypróbować ich silnik za darmo pod adresem:


Wykonanie Metody z Tego Samego Pochodzenia

Zdarzą się sytuacje, w których możesz wykonać pewien ograniczony kod JavaScript na stronie. Na przykład, gdy możesz kontrolować wartość wywołania zwrotnego, która zostanie wykonana.

W takich przypadkach jedną z najlepszych rzeczy, które możesz zrobić, jest uzyskanie dostępu do DOM, aby wywołać dowolną wrażliwą akcję, którą znajdziesz tam (np. kliknięcie przycisku). Jednak zazwyczaj tę podatność znajdziesz w małych punktach końcowych bez żadnych interesujących elementów w DOM.

W takich scenariuszach ten atak będzie bardzo przydatny, ponieważ jego celem jest wykorzystanie ograniczonego wykonania JS wewnątrz DOM z innej strony z tego samego domeny z wieloma interesującymi akcjami.

W skrócie, przebieg ataku jest następujący:

  • Znajdź zwrotkę, którą możesz wykorzystać (potencjalnie ograniczoną do [\w\._]).

  • Jeśli nie jest ograniczona i możesz wykonać dowolny JS, możesz po prostu wykorzystać to jak zwykłe XSS.

  • Spowoduj, że ofiara otworzy stronę kontrolowaną przez atakującego.

  • Strona otworzy się w innym oknie (nowe okno będzie miało obiekt opener odnoszący się do początkowego).

  • Początkowa strona załaduje stronę, na której znajduje się interesujący DOM.

  • Druga strona załaduje podatną stronę, wykorzystując zwrotkę i korzystając z obiektu opener do uzyskania dostępu i wykonania pewnej akcji w początkowej stronie (która teraz zawiera interesujący DOM).

Zauważ, że nawet jeśli początkowa strona uzyska dostęp do nowego adresu URL po utworzeniu drugiej strony, obiekt opener drugiej strony nadal jest ważnym odwołaniem do pierwszej strony w nowym DOM.

Co więcej, aby druga strona mogła użyć obiektu opener, obie strony muszą być w tym samym pochodzeniu. To dlatego, aby wykorzystać tę podatność, musisz znaleźć pewnego rodzaju XSS w tym samym pochodzeniu.

Wykorzystanie

Przykład

  • Możesz znaleźć przykład podatnej strony pod adresem https://www.someattack.com/Playground/

  • Zauważ, że w tym przykładzie serwer generuje kod JavaScript i dodaje go do HTML na podstawie zawartości parametru zwrotki: <script>opener.{callbacl_content}</script> . Dlatego w tym przykładzie nie musisz wskazywać użycia opener explicite.

  • Sprawdź również ten opis CTF: https://ctftime.org/writeup/36068

Odnośniki

Nauka hakowania AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Last updated