
BFuzz is currently in beta.
BFuzz — это инструмент фаззинга на основе ввода, который принимает .html в качестве входных данных, открывает ваш браузер в новом экземпляре и передаёт множество тестовых случаев, сгенерированных domato, который находится в папке recurve BFuzz; более того, BFuzz — это автоматизация, которая многократно выполняет одну и ту же задачу, не искажая тестовые случаи.
warmachine@ftw:~/BFuzz$ ./generate.sh
warmachine@ftw:~/BFuzz$ python BFuzz.py
Enter the browser type:
1: Chrome
2: Firefox
>>
Запуск python BFuzz.py предложит выбрать, фаззить Chrome или Firefox; однако, если выбран 2, откроется Firefox (firefox --new-instance) и будет случайным образом открыт один из тестовых случаев из recurve, создавая журналы на терминале, подождите 3 секунды, затем снова откроется Firefox, и тот же процесс продолжится и так далее.
BFuzz — это небольшой .py скрипт, который позволяет открыть браузер, запустить тестовый случай на 12 секунд, затем закрыть, подождать 3 секунды и снова повторить тот же процесс.
Тестовые случаи в recurve генерируются с помощью domato
generator.py содержит основной скрипт. Он использует grammar.py как библиотеку и содержит дополнительный вспомогательный код для DOM-фаззинга.
grammar.py содержит движок генерации, который в основном не зависит от приложения и поэтому может использоваться в других (т.е. не DOM) генерационных фаззерах. Поскольку его можно использовать как библиотеку, его использование описано в отдельном разделе ниже.
Файлы .txt содержат определения грамматик. Есть 3 основных файла: html.txt, css.txt и js.txt, которые содержат грамматики HTML, CSS и JavaScript соответственно. Эти корневые файлы грамматик могут включать содержимое из других файлов.
Epiphany Web 3.28.1: CVE-2018-11396, новый тестовый случай, идентифицированный для CVE-2018-11396
Mozilla Firefox: переполнение буфера на основе стека, ID ошибки: 1456083 [Статус: ДУБЛИКАТ]
Фаззинг браузеров с помощью BFuzz
Пожалуйста, свободно создавайте pull request.
Обработать исключения, добавить баннер, оптимизировать код, искажать тестовые случаи.