5.2 KiB
SOME - Wykonanie metody o tej samej domenie
Nauka hakowania AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!
- Czy pracujesz w firmie z branży cyberbezpieczeństwa? Chcesz zobaczyć swoją firmę reklamowaną na HackTricks? lub chcesz uzyskać dostęp do najnowszej wersji PEASS lub pobrać HackTricks w formacie PDF? Sprawdź PLANY SUBSKRYPCYJNE!
- Odkryj Rodzinę PEASS, naszą kolekcję ekskluzywnych NFT
- Zdobądź oficjalne gadżety PEASS & HackTricks
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź mnie na Twitterze 🐦@carlospolopm.
- Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do repozytorium hacktricks i repozytorium hacktricks-cloud.
WhiteIntel
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 dane.
Ich głównym celem 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:
{% embed url="https://whiteintel.io" %}
Wykonanie metody o tej samej domenie
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 rzeczy 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 tej samej domeny z dużą liczbą interesujących działań.
W zasadzie, przepływ ataku wygląda następująco:
- 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).
{% hint style="danger" %}
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 tej samej domenie. To dlatego, aby wykorzystać tę podatność, musisz znaleźć pewnego rodzaju XSS w tej samej domenie. {% endhint %}
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źć podatny przykład 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 trzeba wskazywać użyciaopener
explicite. - Sprawdź również ten opis CTF: https://ctftime.org/writeup/36068