
BFAC (Backup File Artifacts Checker): Автоматизированный инструмент для проверки артефактов резервных копий, которые могут раскрыть исходный код веб-приложения.
Расширенное тестирование артефактов резервных копий для веб-приложений

BFAC (Backup File Artifacts Checker) — это автоматизированный инструмент для проверки артефактов резервных копий, которые могут раскрыть исходный код веб-приложения. Артефакты также могут привести к утечке конфиденциальной информации, такой как пароли, структура каталогов и т.д.
Цель BFAC — быть универсальным инструментом для тестирования артефактов резервных копий методом чёрного ящика.
| Описание | Команда |
|---|---|
| Справка | bfac --help |
| Проверка одного URL. | bfac --url http://example.com/test.php |
| Проверка списка URL. | bfac --list testing_list.txt |
| Один URL с другим уровнем (например, уровень 2). | bfac --url http://example.com/test.php --level 2 |
| Один URL и только результаты. | bfac --no-text --url http://example.com/test.php |
| Ограничить тест только проверками DVCS. | bfac --dvcs-test --url http://example.com/ |
| Проверка существования файлов только по Content-Length. | bfac --detection-technique content_length http://example.com/test.php |
| Проверка существования файлов только по Status-Code. | bfac --detection-technique status_code http://example.com/test.php |
| Исключить результаты с определёнными статус-кодами. | bfac --exclude-status-codes 301,999 http://example.com/test.php |
import bfac
testing_level = 5
# Возвращает список шаблонов BFA для http://example.com/test.php
bfa_urls = bfac.generate_bfa_urls(
'http://example.com/test.php', testing_level=testing_level)
# Выполняет тестирование BFA с помощью BFAC и возвращает список находок, если таковые имеются.
# Если ничего не обнаружено, возвращается пустой список.
bfa_testing_result = bfac.test_url(
'http://example.com/test.php', testing_level=testing_level)
sudo python setup.py install
Проект в настоящее время поддерживает все платформы, на которых работает Python. Проект совместим как с Python 2, так и с Python 3.
В: Как использовать BFAC со всеми уровнями?
О:
BFAC по умолчанию работает со всеми уровнями. Если вы хотите уменьшить используемый уровень тестирования, вы можете это сделать, установив флаг --level на меньшее значение.
В: Как BFAC определяет, существует ли файл на веб-сервере?
О: Подход BFAC к обнаружению отличается от обычных инструментов безопасности.
Обычные инструменты безопасности определяют, существует ли файл на сервере, проверяя HTTP-статус код. Поскольку системные администраторы могут подделывать HTTP-статус коды для HTTP-запросов, чтобы обмануть инструменты безопасности и ботов, BFAC реализовал дополнительный метод.
Он проверяет общий ответ на неверный или недоступный веб-ресурс. Затем он отправляет запросы и сравнивает размер ответа запроса с исходной базой.
--detection-technique all использует оба метода: проверку HTTP-статус кода и HTTP-длины содержимого.--detection-technique status_code: использует только проверку HTTP-статус кода.--detection-technique content_length: использует только проверку HTTP-длины содержимого.Приветствуется вклад сообщества в проект BFAC. Если вы нашли ошибку, у вас есть идея для функции, идеи по реконструкции кода для лучшей работы или что-то ещё, смело создавайте issue или pull request.
Трекер задач — предпочтительный канал для сообщений об ошибках и запросов функций.
Этот проект создан только для образовательных и этических целей тестирования. Использование BFAC для атаки на цели без предварительного взаимного согласия незаконно. Конечный пользователь несёт ответственность за соблюдение всех применимых местных, государственных и федеральных законов. Разработчики не несут ответственности и не отвечают за любое неправомерное использование или ущерб, причинённый этой программой.
Проект в настоящее время лицензирован под лицензией GNU GPLv3.0.
Mazin Ahmed