mirror of
https://github.com/carlospolop/hacktricks
synced 2024-12-12 14:22:56 +00:00
65 lines
5.2 KiB
Markdown
65 lines
5.2 KiB
Markdown
# SOME - Wykonanie metody o tej samej domenie
|
|
|
|
<details>
|
|
|
|
<summary><strong>Nauka hakowania AWS od zera do bohatera z</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
|
|
|
* 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**](https://github.com/sponsors/carlospolop)!
|
|
* Odkryj [**Rodzinę PEASS**](https://opensea.io/collection/the-peass-family), naszą kolekcję ekskluzywnych [**NFT**](https://opensea.io/collection/the-peass-family)
|
|
* Zdobądź [**oficjalne gadżety PEASS & HackTricks**](https://peass.creator-spring.com)
|
|
* **Dołącz do** [**💬**](https://emojipedia.org/speech-balloon/) [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** mnie na **Twitterze** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
|
* **Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do** [**repozytorium hacktricks**](https://github.com/carlospolop/hacktricks) **i** [**repozytorium hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
|
|
|
</details>
|
|
|
|
### [WhiteIntel](https://whiteintel.io)
|
|
|
|
<figure><img src="/.gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
|
|
|
|
[**WhiteIntel**](https://whiteintel.io) 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**](./#javascript-function).
|
|
|
|
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](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](https://www.someattack.com/Playground/targeting\_tool)
|
|
|
|
### Przykład
|
|
|
|
* Możesz znaleźć podatny przykład pod adresem [https://www.someattack.com/Playground/](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życia `opener` explicite.
|
|
* Sprawdź również ten opis CTF: [https://ctftime.org/writeup/36068](https://ctftime.org/writeup/36068)
|
|
|
|
## Odnośniki
|
|
|
|
* [https://conference.hitb.org/hitbsecconf2017ams/sessions/everybody-wants-some-advance-same-origin-method-execution/](https://conference.hitb.org/hitbsecconf2017ams/sessions/everybody-wants-some-advance-same-origin-method-execution/)
|