> 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/business-logic/logical-flaw-allowing-you-to-generate-infinite-money.md).

# Falha Lógica que Permite Gerar Dinheiro Infinito

### Falha lógica de dinheiro infinito

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

Este laboratório contém uma falha lógica no processo de compra. Ao usar uma interação incorreta entre \*\* cartões-presente\*\*, \*\* cupons promocionais\*\* e **confirmação do pedido**, é possível gerar crédito ilimitadamente e então comprar a jaqueta de couro Lightweight l33t.

Identificador fornecido:

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

<figure><img src="/files/a48970e999ad81bf3039660b283c6d7c54555a2a" alt=""><figcaption></figcaption></figure>

### Princípio da Falha

Após o cadastro na newsletter, um cupom promocional é concedido:

* **Cupom** : `SIGNUP30`

<figure><img src="/files/e15f804d6e7e2069f740c1073f1dd547349ea3d7" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/da37af466675e6bd6ade0570bac8ddfc2fb13d1e" alt=""><figcaption></figcaption></figure>

Na loja é possível comprar \*\*cartões-presente\*\*.

O problema é que o cupom pode ser aplicado ao comprar esses cartões.

<figure><img src="/files/ca0095cfff3cb25c6b64782bbb0b0f0d0841d667" alt=""><figcaption></figcaption></figure>

#### Exemplo Inicial de Exploração

* Compra de um cartão-presente de **$10**
* Aplicação do cupom `SIGNUP30`
* Preço final pago: **$7**

<figure><img src="/files/a386980d42928dcf050f5c6497490d38e24eaf7d" alt=""><figcaption></figcaption></figure>

* Recebimento de um **código de cartão-presente** (exemplo: `DbWseYFi2v`)

<figure><img src="/files/699f95353f30d13b76eb78a0de57e87b6e53b099" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/ff875b573e2c9c25ba47e78ea3474fd8cb7a52a9" alt="" width="563"><figcaption></figcaption></figure>

Quando esse código é usado na seção de Cartões-Presente, o saldo da conta aumenta em **10$** enquanto apenas **7$** foi gasto.

O ganho líquido é, portanto, **$3**, aumentando o crédito total para **$103**.

<figure><img src="/files/efc388b36e39fd84ddb85d8b4f9f969411736043" alt=""><figcaption></figcaption></figure>

### Problemas Lógicos Identificados

1. O cupom pode ser usado **várias vezes** para comprar cartões-presente.
2. O crédito dos cartões-presente é **ainda aplicado pelo valor integral**, independentemente do preço realmente pago.
3. Confirmação do pedido por meio do endpoint:

   ```bash
   /cart/order-confirmation?order-confirmed=true
   ```

permite a recuperação dinâmica do código do cartão-presente.

Nenhuma limitação impede a automação desse processo.

<figure><img src="/files/1ccc4645207c03c4149ebd1bc1f0f8d2fc3bec95" alt=""><figcaption></figcaption></figure>

### Automação do Ataque (macro)

Para explorar a falha em larga escala, uma **macro do Burp Suite** é implementada.

<figure><img src="/files/aad92228b64f7d8cddf567ece301f4bac655fee5" alt=""><figcaption></figcaption></figure>

#### Solicitações Interceptadas na Macro

1. Adicionar um produto **Cartão-presente** ao carrinho
2. Aplicação do cupom da newsletter (`SIGNUP30`)
3. Validação do pedido (`finalizar pedido`)
4. Recuperação da resposta de confirmação do pedido
5. Registro do cartão-presente na conta do usuário

<figure><img src="/files/41917ce74865cd7db8ab6b842f1d9b0927694eeb" alt=""><figcaption></figcaption></figure>

#### Pontos-chave da Macro

* O **código de cartão-presente** é extraído dinamicamente da `cart/order-confirmation` resposta.

<figure><img src="/files/8076dc17e58b3dd0f0e795ce467591b5e8c0c0a9" alt=""><figcaption></figcaption></figure>

* Esse código é então reinjetado por meio de uma solicitação POST para o endpoint de gerenciamento de cartões-presente.
* Um **parâmetro** é definido na consulta GET para armazenar o valor do código.

<figure><img src="/files/2c294811ae1faffdca55322f7e3ec22ed715d027" alt=""><figcaption></figcaption></figure>

O cupom aplicado recupera seu valor de uma consulta anterior, permitindo o reuso automático.

<figure><img src="/files/001d21e02dc5f90e7f7c89823bcf382ad66d24fc" alt=""><figcaption></figcaption></figure>

### Execução em Massa

Uma vez que a macro esteja configurada:

Todas as solicitações para a **URL scope** disparam automaticamente a macro.

* Um **Intruder** a consulta é enviada para a raiz do site.
* Configuração:
* **500 solicitações**
* **Payload nulo**

<figure><img src="/files/e35dad6f75cb5631bd9b312f2948645dd83a3552" alt=""><figcaption></figcaption></figure>

**Pool de recursos** limitado a **1 solicitação concorrente**

<figure><img src="/files/177eb6a5ba536e6ea96fe27167787ec38e763b1f" alt="" width="364"><figcaption></figcaption></figure>

Essa abordagem torna possível encadear compras, confirmações e créditos de cartões-presente sem interrupção.

#### Resultado

O saldo da conta aumenta indefinidamente. / Assim que crédito suficiente é acumulado, a compra da **jaqueta de couro Lightweight l33t** se torna possível sem restrição financeira.

<figure><img src="/files/16e367281c72701b70d490e3754d913347fd1ed8" alt="" width="375"><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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://hacking-notes.jord4n.pro/pt-br/web/business-logic/logical-flaw-allowing-you-to-generate-infinite-money.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
