Auth, scope & BOLA

Auth profiles, login macros, environments, match & replace e role-diff.

A maioria dos achados reais aparece quando você testa como um usuário específico — este grupo de ferramentas é sobre estabelecer identidade e depois comparar o que identidades diferentes conseguem acessar.

Auth profiles

Um auth profile é uma forma salva de se autenticar: um header (Authorization: Bearer ...), um cookie, ou basic auth. Crie um por papel ou conta que você quiser usar para testar — por exemplo admin, usuario-comum, sem-autenticacao. Uma vez salvo, um profile pode ser aplicado a requisições do Repeater, regras ativas e execuções de role-diff sem reinserir credenciais toda vez.

Para fluxos em que a autenticação não é um header estático — um formulário de login que retorna um cookie de sessão, por exemplo — use um login macro (veja abaixo), e referencie a saída dele a partir do profile.

Login macros

Um login macro é uma pequena sequência gravada: enviar uma requisição de login, extrair um token ou cookie da resposta, e encadear esse valor para a próxima etapa (e para o auth profile que usa o macro). Isso cobre fluxos de autenticação que precisam de uma requisição ao vivo para obter uma credencial, em vez de um token estático de longa duração que você cola uma vez.

Role-diff (BOLA/IDOR)

Este é o fluxo guiado para Broken Object Level Authorization — a família de bugs "IDOR", em que um usuário consegue ler ou modificar dados de outro usuário trocando um ID na URL ou no body.

  1. Configure dois auth profiles para contas em níveis de privilégio diferentes (ou no mesmo nível, mas donos diferentes — por exemplo, dois usuários comuns que possuem recursos separados).
  2. Escolha o(s) endpoint(s) a testar.
  3. Rode o role-diff. O Studio repete as mesmas requisições sob cada profile e compara os resultados.
  4. Uma resposta que tem sucesso sob um profile que não deveria ter acesso é um sinal forte de uma falha de autorização — isso é capturado como um finding com as duas exchanges anexadas como evidência, para você ver exatamente o que diferiu.

Environments

Um environment é um conjunto nomeado de variáveis (URL base, chaves de API, outros valores por alvo) para que um projeto possa apontar para mais de um alvo — staging vs. produção, ou múltiplos serviços do mesmo sistema — sem duplicar seus endpoints, auth profiles e findings em projetos separados.

Match & replace

Regras que reescrevem requisições ou respostas ao passarem pelo proxy — por exemplo, remover um header, trocar um hostname, ou forçar um query parameter. Útil para manter um cliente apontado para o ambiente certo, ou para remover algo (como um token de autenticação) do que é registrado, sem editar o cliente em si.

A seguir: Checklist & reporting transforma tudo que você encontrou em algo entregável.