
BFAC (Backup File Artifacts Checker): Ein automatisiertes Tool, das nach Backup-Artefakten sucht, die den Quellcode der Webanwendung offenlegen könnten.
Erweitertes Testen von Backup-Datei-Artefakten für Webanwendungen

BFAC (Backup File Artifacts Checker) ist ein automatisiertes Tool, das nach Backup-Artefakten sucht, die den Quellcode der Webanwendung offenlegen können. Die Artefakte können auch zur Offenlegung sensibler Informationen wie Passwörter, Verzeichnisstrukturen usw. führen.
Das Ziel von BFAC ist es, ein All-in-One-Tool für Black-Box-Tests von Backup-Datei-Artefakten zu sein.
| Description | Command |
|---|---|
| Hilfe | bfac --help |
| Einzelne URL überprüfen. | bfac --url http://example.com/test.php |
| Eine Liste von URLs überprüfen. | bfac --list testing_list.txt |
| Einzelne URL mit einer anderen Stufe (z. B. Stufe 2). | bfac --url http://example.com/test.php --level 2 |
| Einzelne URL und nur die Ergebnisse anzeigen. | bfac --no-text --url http://example.com/test.php |
| Test auf exponierte DVCS-Tests beschränken. | bfac --dvcs-test --url http://example.com/ |
| Existenz von Dateien nur mit Content-Length-Überprüfungen bestätigen. | bfac --detection-technique content_length http://example.com/test.php |
| Existenz von Dateien nur mit Status-Code-Überprüfungen bestätigen. | bfac --detection-technique status_code http://example.com/test.php |
| Ergebnisse mit bestimmten Statuscodes ausschließen. | 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
Das Projekt unterstützt derzeit alle Plattformen, auf denen Python läuft. Das Projekt ist sowohl mit Python 2 als auch mit Python 3 kompatibel.
Q: Wie verwende ich BFAC mit allen Stufen?
A:
BFAC läuft standardmäßig mit allen Stufen. Wenn Sie die verwendete Teststufe verringern möchten, können Sie dies tun, indem Sie das --level-Flag auf einen niedrigeren Wert setzen.
Q: Wie bestimmt BFAC, ob die Datei tatsächlich auf dem Webserver existiert oder nicht?
A: Der Ansatz von BFAC zur Erkennung unterscheidet sich von herkömmlichen Sicherheitstools.
Herkömmliche Sicherheitstools stellen fest, ob eine Datei auf einem Server existiert, indem sie den HTTP-Statuscode überprüfen. Da es Systemadministratoren gibt, die HTTP-Statuscodes für HTTP-Anfragen fälschen könnten, um Sicherheitstools und Bots zu täuschen, hat BFAC eine zusätzliche Methode implementiert.
Es prüft die allgemeine Antwort einer ungültigen oder nicht verfügbaren Webressource. Dann sendet es Anfragen und vergleicht die Antwortgröße der Anfrage mit der ursprünglichen Basis.
--detection-technique all verwendet beide Methoden für HTTP-Statuscode-Prüfungen und die HTTP-Content-Länge.--detection-technique status_code: verwendet nur HTTP-Statuscode-Prüfungen.--detection-technique content_length: verwendet nur HTTP-Content-Length-Prüfungen.Beiträge aus der Community zum BFAC-Projekt sind sehr willkommen. Wenn Sie einen Fehler finden, eine Idee für eine Funktion haben, Ideen zur Rekonstruktion des Codes haben, damit er besser funktioniert, oder irgendetwas anderes, zögern Sie nicht, ein Issue oder einen Pull-Request einzureichen.
Der Issue-Tracker ist der bevorzugte Kanal für Fehlerberichte und Funktionsanfragen.
Dieses Projekt dient nur zu Bildungs- und ethischen Testzwecken. Die Verwendung von BFAC zum Angreifen von Zielen ohne vorherige gegenseitige Zustimmung ist illegal. Es liegt in der Verantwortung des Endbenutzers, alle geltenden lokalen, staatlichen und bundesstaatlichen Gesetze einzuhalten. Die Entwickler übernehmen keine Haftung und sind nicht verantwortlich für Missbrauch oder Schäden, die durch dieses Programm verursacht werden.
Das Projekt ist derzeit unter der GNU GPLv3.0-Lizenz lizenziert.
Mazin Ahmed