Handbook
  • Introdução
  • Empresa
    • Bem Vindo a Vantico!
    • Valores da Vantico
    • Trabalho Remoto
    • Branding
      • Cores
      • Tipografia
      • Ilustrações
      • Tom de voz & Descrições
    • Políticas
    • Soluções utilizadas pela Vantico
  • Serviços
    • Inteligência de ameaças
    • Revisão de código seguro
    • Pentest WEB
    • Pentest API
    • Pentest Mobile
    • Pentest rede interna
    • Pentest rede externa
    • Revisão de configuração cloud
    • Pentest Azure Active Directory
    • Pentest Desktop
    • Pentest IA/LLM
    • Red Team e Emulação de Adversário
  • Parceiros
    • Visão geral sobre Pentest
    • Tipos de Pentest
    • Relatório do Pentest
    • Teste de correção (Re-test)
    • Pentest para PCI DSS
    • Perguntas frequentes
  • Pentester
    • Markdown
    • Como reportar uma vulnerabilidade
  • Plataforma
    • Começe aqui
      • Acessando a Plataforma
      • Preparação para o Pentest
      • Selecione o Tipo de Pentest
      • Definir os Requisitos do Pentest
        • Alvo
        • Teste suas Crendenciais
        • Instruções para cada Pentest
      • Especifique os Detalhes do Pentest
        • Planejamento e Escopo do Pentest
        • Revisar e Enviar o Pentest
        • Expectativas do Pentest
        • Glossário
    • Changelog
    • Pentests
      • Processos do Pentest
        • Estados de Pentest
        • Lista de verificação de cobertura
      • Descobertas
        • Corrigindo Descobertas
        • Estados das Descobertas
        • Níveis de gravidade
      • Relatórios
        • Conteúdo de um relatório Pentest
        • Customize seu Relatório de Pentest
        • Relatórios de Pentest de marca conjunta
    • Colaboração
      • Colabore em Pentests
      • Gerenciar colaboradores do Pentest
      • Funções e permissões do usuário
      • Notificações
    • Domínios
    • DAST Scanner
      • Alvos
      • Autenticação do Alvo
    • Organização
      • Gerenciar usuários
    • Conta Vantico
      • Solucionar problemas de Login
      • Configurações da Conta
      • Melhores Práticas com a Senha
  • Metodologias
    • API
      • GraphQL
      • REST
    • Cloud
      • AWS
      • BucketLoot
      • Referências
    • Mobile
      • iOS
      • Android
      • Referências
    • Kubernetes
    • Rede Externa
      • Enumeração de Subdomínios
      • Low Hanging Fruits
      • Credenciais de Serviços padrão
    • Rede Interna
      • PowerShell
      • Movimentação Lateral
      • Pós Exploração
      • Escalação de Privilégios
      • Low Hanging Fruits
      • Credenciais de Serviços padrão
      • Referências
    • Aplicações Web
      • Checklist
      • Low Hanging Fruits
      • Gerando Valor
      • Técnicas
      • Automatizando o Scan por Secrets
      • Chaves API
      • Referências
    • Spear Phishing
    • Ferramentas
    • Gerando wordlists efetivas
    • Guia de engajamento de um pentest
Powered by GitBook
On this page

Was this helpful?

  1. Plataforma
  2. DAST Scanner

Autenticação do Alvo

Mais informações sobre campos de autenticação de destino e hacks

PreviousAlvosNextOrganização

Last updated 1 year ago

Was this helpful?

Se o seu site tiver áreas que exigem autenticação, você poderá fornecer credenciais ao DAST Scanner para fazer login no seu site. Ao fazer isso, você permite que o DAST Scanner execute uma verificação que pode revelar quaisquer vulnerabilidades em partes mais profundas do seu aplicativo.

É recomendável que você crie um usuário para os testes, pois o DAST Scanner enviará formulários e clicará em botões, o que pode “poluir” a conta.

Quando uma varredura é iniciada e o destino tem uma configuração de login, a primeira coisa que o rastreador faz é efetuar login no aplicativo (destino da web) para obter uma sessão. Após o login bem-sucedido, ele começará a rastrear o aplicativo. Enquanto o rastreador está em execução, ele verifica constantemente se a sessão ainda é válida. Atualmente essa verificação é realizada automaticamente com base na configuração do login, mas em breve teremos a opção de configurar como a perda de sessão poderá ser detectada.

Etapas básicas

Para adicionar autenticação, ative a opção “Verificação autenticada” e então:

  1. Adicione o URL onde o formulário de login está localizado.

  2. Adicione os campos necessários para login. Você provavelmente terá um campo para nome de usuário e outro para senha.

  • Nome do campo

  • Valor do campo

Usando um formulário de login

(aplicável quando o formulário de login requer um nome de usuário/e-mail e senha, o que é um caso de uso comum)

Para simplificar a configuração, exigimos a URL de Login e pelo menos um nome de campo com seu respectivo valor.

O URL de login

  • O URL de login pode ser igual ao URL de destino se o formulário estiver localizado no caminho raiz ou se redirecionar automaticamente para a página de login.

  • Se o caminho raiz não contiver o formulário de login ou não redirecionar para a página de login, uma URL específica deverá ser fornecida.

  • Se o processo de login envolver um serviço de terceiros (como Auth0), use a URL que redireciona para o provedor de autenticação.

Por exemplo:

  • Se https://example.com/ exibir o formulário de login, defina https://example.com/ como o URL de login.

  • Se https://example.com/ redirecionar para https://example.com/login, defina https://example.com/ ou https://example.com/login como o URL de login.

  • Se https://example.com/ ou https://example.com/login redirecionar para um provedor de autenticação de terceiros (por exemplo, https://example.auth0.com/?token=xyz), defina https:/ /example.com/ ou https://example.com/login como URL de login.

Os campos

Exigimos os nomes e valores dos campos. Refere-se ao valor do nome do atributo de entrada HTML e ao valor que deve ser inserido na entrada. Por exemplo, para , o nome do campo deve ser nome de usuário e você deve fornecer o respectivo valor.

Agora é muito comum encontrar entradas sem o atributo name; no entanto, também oferecemos suporte ao uso do atributo id ou de um seletor CSS. Por exemplo, - o nome do campo pode ser username_id ou #username_id.

Às vezes, só é possível usar seletores CSS. Por exemplo, o aplicativo usa consultas de mídia e há vários formulários com os mesmos nomes e IDs de entrada:

<form name="mobile_login_form" action="/mobile_login_action">
  <p>Username: <input type="text" name="username"></p>
  <p>Password: <input type="password" name="password"></p>
</form>
<form name="login_form" action="/login_action">
  <p>Username: <input type="text" name="username"></p>
  <p>Password: <input type="password" name="password"></p>
</form>

Neste caso, use o seletor CSS form[name="login_form"] input[name="username"].

O botão para enviar o formulário de login geralmente é detectado automaticamente. No entanto, às vezes não está claro qual deles deve ser clicado por motivos como:

  • O formulário de login não está dentro de uma tag

    (um cenário comum hoje em dia).

  • Há mais de um botão de envio dentro do formulário.

Para resolver isso, oferecemos a opção de definir o botão que deve ser clicado adicionando à configuração de login:

  • Nome do campo: submit_button

  • Valor do campo: <seletor CSS do botão> (deve ser um seletor CSS)

Hacks extras para ajudar em determinadas situações

Verifique se há perda de sessão:

  • Nome do campo: check_loggedout

  • Valor do campo: <seletor CSS de um elemento visível apenas quando desconectado> (por exemplo, form.login #username) ou

  • Valor do campo: ["Seletor CSS 1", "Seletor CSS 2"] (por exemplo, ["#form.login #username", "form.login #password"])

Aguarde um carregamento de entrada/elemento de login

Esperar por uma entrada/elemento de login quando o alvo apresenta algum comportamento incomum ao carregar a página de login, ou clicar em um botão para ir para a página de login sem a necessidade de uma sequência de login:

  1. Espere por um elemento

  • Nome do campo: 1_wait

  • Valor do campo:

  1. Clique em um elemento

  • Nome do campo: 2_click

  • Valor do campo: <seletor CSS do elemento a ser clicado>

Os problemas mais comuns quando o login falha

  • Credenciais incorretas ou que não funcionam (por exemplo, a conta do usuário está bloqueada).

  • O URL de login está incorreto ou não exibe as entradas de login por algum motivo. Por exemplo, o login pode ser feito por meio do Auth0 e os usuários podem ter copiado a URL diretamente do Auth0 com um token, tornando-o inválido.

  • Os nomes ou IDs dos campos de entrada estão incorretos ou há diversas entradas com o mesmo nome ou ID.

  • Os seletores CSS estão incorretos.

  • Os campos de entrada não estão contidos em uma tag <form> e o submit_button não está definido.

  • A página de login apresenta um comportamento incomum, exigindo o uso do “hack” 1_wait para aguardar uma entrada específica (esse problema pode ser particularmente difícil de identificar).

  • O alvo está bloqueando nosso acesso, impedindo-nos de chegar à página de login.

  • O processo de login inclui um CAPTCHA obrigatório que os usuários podem não perceber porque a página usa “recaptcha inteligente”, que só é acionado quando um rastreador é detectado.