5.8 KiB
SOME - Wykonanie metody o tej samej domenie
Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!
- Pracujesz w firmie zajmującej się cyberbezpieczeństwem? Chcesz zobaczyć swoją firmę reklamowaną w HackTricks? A może chcesz mieć dostęp do najnowszej wersji PEASS lub pobrać HackTricks w formacie PDF? Sprawdź PLAN SUBSKRYPCJI!
- 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.
Wykonanie metody o tej samej domenie
Zdarzą się sytuacje, w których możesz wykonać pewien ograniczony kod JavaScript na stronie. Na przykład, w przypadku, 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ą można tam znaleźć (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 wykonywania JS wewnątrz DOM z innej strony o tej samej domenie z bardziej interesującymi akcjami.
Podstawowy przebieg ataku jest następujący:
- Znajdź zwrotkę, którą można wykorzystać (potencjalnie ograniczoną do [\w\._]).
- Jeśli nie jest ograniczona i możesz wykonać dowolny kod JS, możesz po prostu wykorzystać to jako 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
, który odnosi się do początkowego okna). - Początkowa strona załaduje stronę, na której znajduje się interesujący DOM.
- Druga strona załaduje podatną stronę, wykorzystując zwrotkę i używając obiektu
opener
, aby uzyskać dostęp i wykonać pewną akcję w początkowej stronie (która teraz zawiera interesujący DOM).
{% hint style="danger" %}
Należy zauważyć, że nawet jeśli początkowa strona uzyska dostęp do nowego adresu URL po utworzeniu drugiej strony, obiekt opener
drugiej strony wciąż jest ważnym odwołaniem do pierwszej strony w nowym DOM.
Ponadto, aby druga strona mogła używać obiektu opener, obie strony muszą być w tej samej domenie. Dlatego też, aby wykorzystać tę podatność, musisz znaleźć pewien rodzaj XSS w tej samej domenie. {% endhint %}
Wykorzystanie
- Możesz użyć tego formularza do wygenerowania PoC w celu wykorzystania tego rodzaju podatności: https://www.someattack.com/Playground/SOMEGenerator
- Aby znaleźć ścieżkę DOM do elementu HTML z kliknięciem, możesz użyć tego rozszerzenia przeglądarki: https://www.someattack.com/Playground/targeting_tool
Przykład
- Możesz znaleźć przykład podatności na stronie 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 rozwiązania CTF: https://ctftime.org/writeup/36068
Odwołania
Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!
- Pracujesz w firmie zajmującej się cyberbezpieczeństwem? Chcesz zobaczyć swoją firmę reklamowaną w HackTricks? A może chcesz mieć dostęp do najnowszej wersji PEASS lub pobrać HackTricks w formacie PDF? Sprawdź PLAN SUBSKRYPCJI!
- 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.