
BFAC (Backup File Artifacts Checker): Una herramienta automatizada que verifica artefactos de respaldo que pueden revelar el código fuente de la aplicación web.
Pruebas avanzadas de artefactos de archivos de respaldo para aplicaciones web

BFAC (Backup File Artifacts Checker) es una herramienta automatizada que verifica artefactos de respaldo que pueden revelar el código fuente de la aplicación web. Los artefactos también pueden provocar la filtración de información sensible, como contraseñas, estructura de directorios, etc.
El objetivo de BFAC es ser una herramienta integral para las pruebas de caja negra de artefactos de archivos de respaldo.
| Descripción | Comando |
|---|---|
| Ayuda | bfac --help |
| Verificar una sola URL. | bfac --url http://example.com/test.php |
| Verificar una lista de URLs. | bfac --list testing_list.txt |
| Una sola URL con un nivel diferente (por ejemplo, nivel 2). | bfac --url http://example.com/test.php --level 2 |
| Una sola URL y mostrar solo los resultados. | bfac --no-text --url http://example.com/test.php |
| Limitar la prueba a pruebas DVCS expuestas. | bfac --dvcs-test --url http://example.com/ |
| Verificar la existencia de archivos solo mediante Content-Length. | bfac --detection-technique content_length http://example.com/test.php |
| Verificar la existencia de archivos solo mediante código de estado. | bfac --detection-technique status_code http://example.com/test.php |
| Excluir resultados con códigos de estado 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
El proyecto actualmente es compatible con todas las plataformas que ejecutan Python. El proyecto es compatible tanto con Python 2 como con Python 3.
P: ¿Cómo usar BFAC con todos los niveles?
R:
BFAC se ejecuta con todos los niveles por defecto. Si desea reducir el nivel de prueba utilizado, puede hacerlo configurando la bandera --level a un valor más bajo.
P: ¿Cómo determina BFAC si el archivo realmente existe en el servidor web o no?
R: El enfoque de BFAC para la detección difiere de las herramientas de seguridad habituales.
Las herramientas de seguridad habituales determinan si un archivo existe en un servidor verificando el código de estado HTTP. Dado que algunos administradores de sistemas pueden falsear los códigos de estado HTTP para engañar a herramientas de seguridad y bots, BFAC implementó un método adicional.
Verifica la respuesta general de un recurso web no válido o no disponible. Luego, envía solicitudes y compara el tamaño de la respuesta de la solicitud con la base inicial.
--detection-technique all utiliza ambos métodos para verificar códigos de estado HTTP y el Content-Length HTTP.--detection-technique status_code: solo utiliza verificaciones de código de estado HTTP.--detection-technique content_length: solo utiliza verificaciones de Content-Length HTTP.La contribución de la comunidad al proyecto BFAC es muy bienvenida. Si encuentra un error, tiene una idea para una funcionalidad, ideas para reestructurar el código para que funcione mejor, o cualquier otra cosa, no dude en enviar un issue o un pull request.
El rastreador de incidencias es el canal preferido para reportes de errores y solicitudes de funciones.
Este proyecto está hecho únicamente con fines educativos y de pruebas éticas. El uso de BFAC para atacar objetivos sin consentimiento mutuo previo es ilegal. Es responsabilidad del usuario final cumplir con todas las leyes locales, estatales y federales aplicables. Los desarrolladores no asumen ninguna responsabilidad y no son responsables por cualquier mal uso o daño causado por este programa.
El proyecto está actualmente licenciado bajo la Licencia GNU GPL v3.0.
Mazin Ahmed