mirror of
https://github.com/carlospolop/hacktricks
synced 2024-12-24 03:53:29 +00:00
77 lines
6.3 KiB
Markdown
77 lines
6.3 KiB
Markdown
# SOME - Same Origin Method Execution
|
|
|
|
<details>
|
|
|
|
<summary><strong>Aprenda hacking AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
|
|
|
* Você trabalha em uma **empresa de cibersegurança**? Quer ver sua **empresa anunciada no HackTricks**? ou quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
|
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
|
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
|
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
|
* **Compartilhe seus truques de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
|
|
|
</details>
|
|
|
|
### [WhiteIntel](https://whiteintel.io)
|
|
|
|
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
|
|
[**WhiteIntel**](https://whiteintel.io) é um mecanismo de busca alimentado pela **dark web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares de roubo**.
|
|
|
|
O objetivo principal do WhiteIntel é combater a apropriação de contas e ataques de ransomware resultantes de malwares de roubo de informações.
|
|
|
|
Você pode verificar o site deles e experimentar o mecanismo gratuitamente em:
|
|
|
|
{% embed url="https://whiteintel.io" %}
|
|
|
|
***
|
|
|
|
## Same Origin Method Execution
|
|
|
|
Haverá ocasiões em que você pode executar algum javascript limitado em uma página. Por exemplo, no caso em que você pode [**controlar um valor de retorno que será executado**](./#javascript-function).
|
|
|
|
Nesses casos, uma das melhores coisas que você poderia fazer é **acessar o DOM para chamar qualquer** ação sensível que você possa encontrar lá (como clicar em um botão). No entanto, geralmente você encontrará essa vulnerabilidade em **pequenos pontos de extremidade sem nada interessante no DOM**.
|
|
|
|
Nesses cenários, esse ataque será muito útil, porque seu objetivo é ser capaz de **abusar da execução limitada de JS dentro de um DOM de uma página diferente do mesmo domínio** com ações muito interessantes.
|
|
|
|
Basicamente, o fluxo do ataque é o seguinte:
|
|
|
|
* Encontre um **callback que você pode abusar** (potencialmente limitado a \[\w\\.\_]).
|
|
* Se não for limitado e você puder executar qualquer JS, você poderia simplesmente abusar disso como um XSS regular.
|
|
* Faça a **vítima abrir uma página** controlada pelo **atacante**.
|
|
* A **página se abrirá** em uma **janela diferente** (a nova janela terá o objeto **`opener`** referenciando a inicial).
|
|
* A **página inicial** carregará a **página** onde está localizado o **DOM interessante**.
|
|
* A **segunda página** carregará a **página vulnerável abusando do callback** e usando o objeto **`opener`** para **acessar e executar alguma ação na página inicial** (que agora contém o DOM interessante).
|
|
|
|
{% hint style="danger" %}
|
|
Observe que mesmo que a página inicial acesse uma nova URL após ter criado a segunda página, o **objeto `opener` da segunda página ainda é uma referência válida para a primeira página no novo DOM**.
|
|
|
|
Além disso, para que a segunda página possa usar o objeto opener **ambas as páginas devem estar na mesma origem**. Esta é a razão pela qual, para abusar dessa vulnerabilidade, você precisa encontrar algum tipo de **XSS na mesma origem**.
|
|
{% endhint %}
|
|
|
|
### Exploração
|
|
|
|
* Você pode usar este formulário para **gerar um PoC** para explorar esse tipo de vulnerabilidade: [https://www.someattack.com/Playground/SOMEGenerator](https://www.someattack.com/Playground/SOMEGenerator)
|
|
* Para encontrar um caminho DOM para um elemento HTML com um clique, você pode usar esta extensão do navegador: [https://www.someattack.com/Playground/targeting\_tool](https://www.someattack.com/Playground/targeting\_tool)
|
|
|
|
### Exemplo
|
|
|
|
* Você pode encontrar um exemplo vulnerável em [https://www.someattack.com/Playground/](https://www.someattack.com/Playground/)
|
|
* Observe que neste exemplo o servidor está **gerando código javascript** e **adicionando** ao HTML com base no **conteúdo do parâmetro de callback:** `<script>opener.{callbacl_content}</script>` . Por isso, neste exemplo você não precisa indicar o uso de `opener` explicitamente.
|
|
* Confira também este CTF writeup: [https://ctftime.org/writeup/36068](https://ctftime.org/writeup/36068)
|
|
|
|
## Referências
|
|
|
|
* [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/)
|
|
|
|
<details>
|
|
|
|
<summary><strong>Aprenda hacking AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
|
|
|
* Você trabalha em uma **empresa de cibersegurança**? Quer ver sua **empresa anunciada no HackTricks**? ou quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
|
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
|
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
|
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
|
* **Compartilhe seus truques de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
|
|
|
</details>
|