
BFAC (Backup File Artifacts Checker): Un outil automatisé qui vérifie les artefacts de sauvegarde pouvant divulguer le code source de l'application web.
Test avancé des artefacts de fichiers de sauvegarde pour applications web

BFAC (Backup File Artifacts Checker) est un outil automatisé qui vérifie les artefacts de sauvegarde pouvant divulguer le code source de l'application web. Ces artefacts peuvent également entraîner la fuite d'informations sensibles, telles que les mots de passe, la structure des répertoires, etc.
L'objectif de BFAC est d'être un outil tout-en-un pour les tests en boîte noire des artefacts de fichiers de sauvegarde.
| Description | Commande |
|---|---|
| Aide | bfac --help |
| Vérifier une seule URL. | bfac --url http://example.com/test.php |
| Vérifier une liste d'URLs. | bfac --list testing_list.txt |
| URL unique avec un niveau différent (niveau 2 par exemple). | bfac --url http://example.com/test.php --level 2 |
| URL unique et afficher uniquement les résultats. | bfac --no-text --url http://example.com/test.php |
| Limiter le test aux tests DVCS exposés. | bfac --dvcs-test --url http://example.com/ |
| Vérifier l'existence des fichiers en utilisant uniquement les vérifications de Content-Length. | bfac --detection-technique content_length http://example.com/test.php |
| Vérifier l'existence des fichiers en utilisant uniquement les vérifications de code d'état. | bfac --detection-technique status_code http://example.com/test.php |
| Exclure les résultats avec des codes d'état spécifiques. | 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
Le projet prend actuellement en charge toutes les plates-formes sur lesquelles Python est disponible. Le projet est compatible avec Python 2 et Python 3.
Q: Comment utiliser BFAC avec tous les niveaux ?
R:
BFAC utilise tous les niveaux par défaut. Si vous souhaitez diminuer le niveau de test utilisé, vous pouvez le faire en définissant le paramètre --level à une valeur inférieure.
Q: Comment BFAC détermine-t-il si le fichier existe réellement sur le serveur web ou non ?
R: L'approche de BFAC concernant la détection diffère des outils de sécurité classiques. Les outils de sécurité classiques déterminent si un fichier existe sur un serveur en vérifiant le code d'état HTTP. Comme certains administrateurs système peuvent falsifier les codes d'état HTTP pour tromper les outils de sécurité et les robots, BFAC a implémenté une méthode supplémentaire. Il vérifie la réponse générale d'une ressource web invalide ou indisponible. Ensuite, il envoie des requêtes et compare la taille de la réponse de la requête avec la base initiale.
--detection-technique all utilise les deux méthodes pour la vérification du code d'état HTTP et de la longueur du contenu HTTP.--detection-technique status_code : utilise uniquement les vérifications du code d'état HTTP.--detection-technique content_length : utilise uniquement les vérifications de la longueur du contenu HTTP.Les contributions de la communauté au projet BFAC sont les bienvenues. Si vous trouvez un bug, avez une idée de fonctionnalité, des idées pour reconstruire le code pour mieux fonctionner, ou quoi que ce soit d'autre, n'hésitez pas à soumettre un problème ou une demande de fusion.
Le suivi des problèmes est le canal privilégié pour les rapports de bugs et les demandes de fonctionnalités.
Ce projet est conçu à des fins éducatives et de tests éthiques uniquement. L'utilisation de BFAC pour attaquer des cibles sans consentement mutuel préalable est illégale. Il est de la responsabilité de l'utilisateur final de respecter toutes les lois locales, étatiques et fédérales applicables. Les développeurs déclinent toute responsabilité et ne sont pas responsables des mauvais usages ou dommages causés par ce programme.
Le projet est actuellement sous licence GNU GPLv3.0.
Mazin Ahmed