SOME - Same Origin Method Execution
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
Możesz skorzystać z tego formularza, aby wygenerować PoC do wykorzystania tego rodzaju podatności: https://www.someattack.com/Playground/SOMEGenerator
Aby znaleźć ścieżkę DOM do elementu HTML z kliknięciem, możesz skorzystać z tego rozszerzenia przeglądarki: https://www.someattack.com/Playground/targeting_tool
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życiaopener
explicite.Sprawdź również ten opis CTF: https://ctftime.org/writeup/36068
Odnośniki
Last updated