# Arjun: descobrindo parâmetros HTTP ocultos

> Como instalar e executar o Arjun, e por que parâmetros não documentados são onde a lógica de autorização tende a quebrar.

O `Arjun` encontra parâmetros HTTP que um endpoint aceita mas não anuncia. Ele envia nomes de parâmetro candidatos e observa mudanças no tamanho, status ou conteúdo da resposta que indiquem que a aplicação percebeu. Parâmetros ocultos são desproporcionalmente interessantes porque são os que ninguém escreveu testes ou verificações de autorização.

## Instalação

```bash
pipx install arjun
# ou
pip install arjun
```

## Comandos principais

```bash
# parâmetros GET em um endpoint
arjun -u https://example.com/api/v1/user

# POST com corpo JSON
arjun -u https://example.com/api/v1/user -m JSON

# uma lista de endpoints
arjun -i endpoints.txt -oJ arjun.json

# sua própria wordlist — use a que o unfurl produziu
arjun -u https://example.com/api/v1/user -w params.txt

# throttle e autenticação
arjun -u https://example.com/api/v1/user -d 2 --headers "Authorization: Bearer TOKEN"
```

## Saída

```json
{"https://example.com/api/v1/user":{"params":["debug","user_id","is_admin"],"method":"GET"}}
```

## Onde ele entra no Tandera

O Arjun roda na fase de **analyze** do `recon_web_full` e do `recon_api`. Ele consome a lista de endpoints que `katana` e `linkfinder` produziram e o vocabulário de parâmetros que o `unfurl` extraiu do corpus de URLs.

No `recon_api` ele alimenta a síntese de shadow-endpoints: parâmetros descobertos em endpoints documentados, comparados contra a especificação da API, são como a superfície não documentada é identificada.

## Usando em um pentest

**Use o vocabulário da própria aplicação.** Wordlists genéricas acham `debug` e `test`. O `unfurl -u keys` sobre o corpus de URLs arquivadas acha `acct_ref` e `tenant_override`, que são os que importam.

**`is_admin`, `role`, `debug` e `impersonate` são o jackpot.** Um parâmetro oculto que muda uma decisão de autorização é um crítico, não uma divulgação de informação. Teste o que ele faz antes de avaliá-lo.

**Faça throttle.** O Arjun envia muitas requisições rapidamente. O `-d 2` coloca um atraso entre elas; sem isso você vai bater em rate limits e receber falsos negativos, e pode gerar um incidente do lado do cliente.

**Confirme à mão.** A detecção é heurística — baseada em deltas de resposta. Reproduza cada parâmetro manualmente antes de chegar ao relatório.

---

Canonical: https://tandera.io/pt-br/tools/arjun
This page as markdown: https://tandera.io/pt-br/tools/arjun.md
Index for agents: https://tandera.io/llms.txt

Every page here is also available as markdown: append `.md` to the path (e.g. `/recon.md`, `/index.md` for this homepage, `/blog/<slug>.md`), or request the canonical path with `Accept: text/markdown`.
