Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Ferramentas/GitHubGitHub/authcov/authcov
Autenticação e AutorizaçãoScanners de VulnerabilidadesTestes de Segurança de APIsSegurança WebTestes de PenetraçãoRastreadorArchived
GitHubauthcov/authcov

authcov

Varredura de cobertura de autorização de aplicações web

Ver Repositório
234275há 3 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

AuthCov

npm version

Varredura de cobertura de autorização de aplicativos web.

Introdução

O AuthCov rastreia sua aplicação web usando um navegador Chrome headless enquanto está logado como um usuário pré-definido. Ele intercepta e registra requisições de API, bem como páginas carregadas durante a fase de rastreamento. Na próxima fase, ele faz login com uma conta de usuário diferente, o "intruso", e tenta acessar cada uma das requisições de API ou páginas descobertas anteriormente. Ele repete essa etapa para cada usuário intruso definido. Finalmente, gera um relatório detalhado listando os recursos descobertos e se são ou não acessíveis aos usuários intrusos.

Um exemplo de relatório gerado a partir da varredura de uma instância local do Wordpress:

Funcionalidades

  • Funciona com aplicações de página única (SPA) e aplicações multipáginas tradicionais (MPA)
  • Lida com mecanismos de autenticação baseados em token e cookies
  • Gera um relatório detalhado em formato HTML
  • Capturas de tela de cada página rastreada podem ser visualizadas no relatório

Instalação

Instale a versão mais recente do Node. Em seguida, execute:

root@kitploit:~
$ npm install -g authcov

Uso

  1. Gere uma configuração para o site que deseja escanear [NOTA: Deve terminar com extensão .mjs]:
root@kitploit:~
$ authcov new myconfig.mjs
  1. Atualize os valores em myconfig.mjs
  2. Teste os valores da sua configuração executando este comando para garantir que o navegador esteja fazendo login com sucesso.
root@kitploit:~
$ authcov test-login myconfig.mjs --headless=false
  1. Rastreie seu site:
root@kitploit:~
$ authcov crawl myconfig.mjs
  1. Tente intrusão contra os recursos descobertos durante a fase de rastreamento:
root@kitploit:~
$ authcov intrude myconfig.mjs
  1. Visualize o relatório gerado em: ./tmp/report/index.html

Configuração

As seguintes opções podem ser definidas no seu arquivo de configuração:

Configurando o Login

Existem duas maneiras de configurar o login no seu arquivo de configuração:

  1. Usando o mecanismo de login padrão que usa o Puppeteer para inserir o nome de usuário e senha nos campos especificados e depois clicar no botão de envio especificado. Isso pode ser configurado definindo a opção loginConfig no seu arquivo de configuração desta forma. Veja também este exemplo.
root@kitploit:~
"loginConfig": {
  "url": "http://localhost/login",
  "usernameXpath": "input[name=email]",
  "passwordXpath": "input[name=password]",
  "submitXpath": "#login-button"
}
  1. Se o seu formulário de login for mais complexo e envolver mais interação do usuário, você pode definir sua própria função puppeteer no seu arquivo de configuração desta forma. Veja também este exemplo.
root@kitploit:~
  "loginFunction": async function(page, username, password){
    await page.goto('http://localhost:3001/users/sign_in');
    await page.waitForSelector('input[type=email]');
    await page.waitForSelector('input[type=password]');

    await page.type('input[type=email]', username);
    await page.type('input[type=password]', password);

    await page.tap('input[type=submit]');
    await page.waitFor(500);

    return;
  }

Não se esqueça de executar o comando authcov test-login no modo headful para verificar se o navegador faz login com sucesso.

Contribuindo

Clone o repositório e execute npm install. É melhor usar a versão 17.1.0 do Node.

Testes Unitários

Testes unitários:

root@kitploit:~
$ npm test test/unit

Testes End-to-End:

Primeiro, baixe e execute o aplicativo de exemplo. Depois execute os testes:

root@kitploit:~
$ npm test test/e2e
Baixar ferramenta
opçãotipodescrição
baseUrlstringA URL base do site. É daqui que o rastreador começará.
crawlUserobjectO usuário para rastrear o site. Exemplo: {"username": "admin", "password": "1234"}
intrudersarrayOs usuários que farão a intrusão nos endpoints de API e páginas descobertas durante a fase de rastreamento. Geralmente, esses serão usuários com o mesmo privilégio ou menor que o crawlUser. Para fazer a intrusão como um usuário não logado, adicione um usuário com o nome de usuário "Public" e senha null. Exemplo: [{"username": "john", "password": "4321"}, {"username": "Public", "password": null}]
typestringÉ uma aplicação de página única (ou seja, frontend javascript que consulta um backend de API) ou uma aplicação multipáginas mais "tradicional". (Escolha "mpa" ou "spa").
authenticationTypestringO site autentica usuários usando cookies enviados pelo navegador ou um token enviado em um cabeçalho de requisição? Para um MPA, isso quase sempre será definido como "cookie". Em um SPA, pode ser "cookie" ou "token".
authorisationHeadersarrayQuais cabeçalhos de requisição são necessários para autenticar um usuário? Se authenticationType=cookie, então isso deve ser definido como ["cookie"]. Se authenticationType=token, então será algo como: ["X-Auth-Token"].
maxDepthintegerA profundidade máxima para rastrear o site. Recomenda-se começar em 1 e depois tentar profundidades maiores para garantir que o rastreador consiga terminar rápido o suficiente.
verboseOutputbooleanRegistre em nível detalhado, útil para depuração.
saveResponsesbooleanSalve os corpos das respostas dos endpoints de API para que você possa visualizá-los no relatório.
saveScreenshotsbooleanSalve capturas de tela do navegador para as páginas rastreadas, para que você possa visualizá-las no relatório.
clickButtonsboolean(Funcionalidade experimental) em cada página rastreada, clique em todos os botões da página e registre quaisquer requisições de API feitas. Pode ser útil em sites que tenham muitas interações do usuário através de modais, popups etc.
xhrTimeoutintegerQuanto tempo esperar para que as requisições XHR sejam concluídas durante o rastreamento de cada página. (segundos)
pageTimeoutintegerQuanto tempo esperar para que a página carregue durante o rastreamento. (segundos)
headlessbooleanDefina como false para que o rastreador abra um navegador Chrome e você possa ver o rastreamento acontecendo ao vivo.
unAuthorizedStatusCodesarrayOs códigos de status de resposta HTTP que decidem se um endpoint de API ou página é autorizado para o usuário que o solicita. Opcionalmente, defina uma função responseIsAuthorised para determinar se uma requisição foi autorizada. Exemplo: [401, 403, 404]
ignoreLinksIncludingarrayNão rastreie URLs que contenham qualquer string neste array. Por exemplo, se definido como ["/logout"], então a URL: http://localhost:3000/logout não será rastreada. Opcionalmente, defina uma função ignoreLink(url) abaixo para determinar se uma URL deve ser rastreada ou não.
ignoreAPIrequestsIncludingarrayNão registre registros de API feitos para URLs que contenham qualquer uma das strings neste array. Opcionalmente, defina uma função ignoreApiRequest(url) para determinar se uma requisição deve ser registrada ou não.
ignoreButtonsIncludingarraySe clickButtons estiver definido como true, não clique em botões cujo HTML externo contenha qualquer uma das strings neste array. Opcionalmente, defina uma função ignoreButton(url) abaixo.
loginConfigobjectConfigure como o navegador fará login no seu aplicativo web. Opcionalmente, defina uma função assíncrona loginFunction(page, username, password). (Mais sobre isso abaixo).
cookiesTriggeringPagestring(opcional) quando authenticationType=cookie, isso definirá uma página para que o intruso navegue até ela e então capture os cookies do navegador. Isso pode ser útil se o site definir o campo path nos cookies. O padrão é options.baseUrl.
tokenTriggeringPagestring(opcional) quando authenticationType=token, isso definirá uma página para que o intruso navegue até ela e então capture os authorisationHeaders das requisições de API interceptadas. Isso pode ser útil se a baseUrl do site não fizer requisições de API e, portanto, não puder capturar os cabeçalhos de autenticação dessa página. O padrão é options.baseUrl.