
BFAC (Backup File Artifacts Checker): Uma ferramenta automatizada que verifica artefatos de backup que podem revelar o código-fonte da aplicação web.
Teste Avançado de Artefatos de Arquivos de Backup para Aplicações Web

BFAC (Backup File Artifacts Checker) é uma ferramenta automatizada que verifica artefatos de backup que podem revelar o código-fonte da aplicação web. Os artefatos também podem levar ao vazamento de informações sensíveis, como senhas, estrutura de diretórios, etc.
O objetivo do BFAC é ser uma ferramenta all-in-one para testes de caixa-preta de artefatos de arquivos de backup.
| Descrição | Comando |
|---|---|
| Ajuda | bfac --help |
| Verificar uma única URL. | bfac --url http://example.com/test.php |
| Verificar uma lista de URLs. | bfac --list testing_list.txt |
| URL única com um nível diferente (nível 2, por exemplo). | bfac --url http://example.com/test.php --level 2 |
| URL única e mostrar apenas os resultados. | bfac --no-text --url http://example.com/test.php |
| Limitar o teste a testes DVCS expostos. | bfac --dvcs-test --url http://example.com/ |
| Verificar a existência de arquivos usando apenas verificações de Content-Length. | bfac --detection-technique content_length http://example.com/test.php |
| Verificar a existência de arquivos usando apenas verificações de Status-Code. | bfac --detection-technique status_code http://example.com/test.php |
| Excluir resultados com códigos de status específicos. | bfac --exclude-status-codes 301,999 http://example.com/test.php |
import bfac
testing_level = 5
# Returns a list of BFA patterns for http://example.com/test.php
bfa_urls = bfac.generate_bfa_urls(
'http://example.com/test.php', testing_level=testing_level)
# Performs BFA testing using BFAC, and returns a list of findings, if any.
# If nothing is identified, it returns an empty list.
bfa_testing_result = bfac.test_url(
'http://example.com/test.php', testing_level=testing_level)
sudo python setup.py install
O projeto atualmente suporta todas as plataformas que executam Python. O projeto é compatível com Python 2 e Python 3.
P: Como usar o BFAC com todos os níveis?
R:
O BFAC roda com todos os níveis por padrão. Se você quiser diminuir o nível de teste usado, pode fazer isso definindo a flag --level para um valor menor.
P: Como o BFAC determina se o arquivo realmente existe no servidor web ou não?
R: A abordagem do BFAC em relação à detecção difere de ferramentas de segurança comuns.
Ferramentas de segurança comuns determinam se um arquivo existe em um servidor verificando o código de status HTTP. Como existem administradores de sistema que podem falsificar códigos de status HTTP para requisições HTTP para enganar ferramentas de segurança e bots, o BFAC implementou um método adicional.
Ele verifica a resposta geral de um recurso web inválido ou indisponível. Então, envia requisições e compara o tamanho da resposta da requisição com a base inicial.
--detection-technique all usa ambos os métodos para verificações de Código de Status HTTP e o Content-Length HTTP.--detection-technique status_code: usa apenas verificações de código de status HTTP.--detection-technique content_length: usa apenas verificações de Content-Length HTTP.A contribuição da comunidade para o projeto BFAC é muito bem-vinda. Se você encontrar um bug, tiver uma ideia para uma funcionalidade, ideias para reconstruir o código para funcionar melhor, ou qualquer outra coisa, sinta-se à vontade para enviar uma issue ou um pull request.
O rastreador de issues é o canal preferido para relatórios de bugs e solicitações de funcionalidades.
Este projeto é feito apenas para fins educacionais e de testes éticos. O uso do BFAC para atacar alvos sem consentimento mútuo prévio é ilegal. É de responsabilidade do usuário final obedecer a todas as leis locais, estaduais e federais aplicáveis. Os desenvolvedores não assumem nenhuma responsabilidade e não são responsáveis por qualquer uso indevido ou dano causado por este programa.
O projeto está atualmente licenciado sob a Licença GNU GPLv3.0.
Mazin Ahmed