
BFAC (Backup File Artifacts Checker): Uno strumento automatico che controlla gli artefatti di backup che potrebbero divulgare il codice sorgente dell'applicazione web.
Test Avanzati degli Artefatti di Backup per Applicazioni Web

BFAC (Backup File Artifacts Checker) è uno strumento automatizzato che verifica la presenza di artefatti di backup che potrebbero rivelare il codice sorgente dell'applicazione web. Gli artefatti possono anche portare alla fuga di informazioni sensibili, come password, struttura delle directory, ecc.
L'obiettivo di BFAC è essere uno strumento tutto-in-uno per il black-box testing degli artefatti di backup.
| Descrizione | Comando |
|---|---|
| Aiuto | bfac --help |
| Controlla un singolo URL. | bfac --url http://example.com/test.php |
| Controlla una lista di URL. | bfac --list testing_list.txt |
| Singolo URL con un livello diverso (ad esempio livello 2). | bfac --url http://example.com/test.php --level 2 |
| Singolo URL e mostra solo i risultati. | bfac --no-text --url http://example.com/test.php |
| Limita il test ai test DVCS esposti. | bfac --dvcs-test --url http://example.com/ |
| Verifica l'esistenza dei file usando solo il Content-Length. | bfac --detection-technique content_length http://example.com/test.php |
| Verifica l'esistenza dei file usando solo il codice di stato. | bfac --detection-technique status_code http://example.com/test.php |
| Escludi risultati con codici di stato specifici. | 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
Il progetto supporta attualmente tutte le piattaforme che eseguono Python. Il progetto è compatibile sia con Python 2 che con Python 3.
D: Come usare BFAC con tutti i livelli?
R:
BFAC esegue di default con tutti i livelli. Se si desidera ridurre il livello di test utilizzato, è possibile farlo impostando il flag --level su un valore inferiore.
D: Come fa BFAC a determinare se il file esiste effettivamente sul server web?
R: L'approccio di BFAC per il rilevamento differisce dagli strumenti di sicurezza tradizionali.
Gli strumenti di sicurezza tradizionali determinano se un file esiste su un server controllando il codice di stato HTTP. Poiché gli amministratori di sistema potrebbero falsificare i codici di stato HTTP per le richieste HTTP al fine di ingannare strumenti di sicurezza e bot, BFAC ha implementato un metodo aggiuntivo.
Controlla la risposta generale di una risorsa web non valida o non disponibile. Quindi invia richieste e confronta la dimensione della risposta con quella iniziale di base.
--detection-technique all utilizza entrambi i metodi: controllo del codice di stato HTTP e della lunghezza del contenuto HTTP.--detection-technique status_code: utilizza solo il controllo del codice di stato HTTP.--detection-technique content_length: utilizza solo il controllo della lunghezza del contenuto HTTP.I contributi della comunità al progetto BFAC sono molto graditi. Se trovi un bug, hai un'idea per una funzionalità, idee per ricostruire il codice per farlo funzionare meglio, o qualsiasi altra cosa, sentiti libero di aprire un issue o una pull request.
Il tracker degli issue è il canale preferito per segnalare bug e richiedere funzionalità.
Questo progetto è realizzato esclusivamente a scopo educativo e per test etici. L'utilizzo di BFAC per attaccare target senza previo consenso reciproco è illegale. È responsabilità dell'utente finale rispettare tutte le leggi locali, statali e federali applicabili. Gli sviluppatori non si assumono alcuna responsabilità e non sono responsabili per qualsiasi uso improprio o danno causato da questo programma.
Il progetto è attualmente concesso in licenza sotto la GNU GPLv3.0.
Mazin Ahmed