Проект Fusil программа Fuzzing. В настоящее время, это характерен для программ командных линий Linux, но код предназначен для использования с любым типом проекта (удаленный процесс, поддельные сервера HTTP, пуха сетевой сокет, и т.д.). Проект Fusil основана на системе вместо монолитной архитектуры многоагентной.
Fusil проект с открытым исходным написано в Python под лицензии GNU GPL.
Попробуйте фузея
Перейти в родительский каталог фузея и начать Fuzzing проект XTERM:
фузея --project проекта / xterm.py
Выход результат:
$ Кд фузея
$ Фузея -p проект / xterm.py
[сессия # 1] Начало сеанса
[процесс Xterm] Тайм-аут! (1.0 секунды)
(...)
[# сессия 8] Начало сеанса
*** *** Glibc обнаружено / USR / бен / Xterm: двойной бесплатно или коррупция (пред!): 0x080ad2b8 ***
======= Backtrace: =========
/lib/tls/i686/cmov/libc.so.6[0xb7b957cd]
(...)
[процесс часы] Процесс убит сигнала SIGIOT
[# сессия 8] оценка Сессия: 100,0%
[Приложение] Успех сессии # 8
Что нового В этом выпуске:
- Python 3 поддержка
- фузея-питон:
- улучшить функцию перечисления всех модулей Python: использовать sys.builtin_module_names и pkgutil.iter_modules ()
- черный список дополнительных модулей, классы и функции
Что нового в версии 1.3.2:
- replay.py: установить sys.path, чтобы облегчить использование фузея без установки
- Исправлена фузея-Gettext: игнорировать ошибки Strace в locateMO ()
- фузея-питон:
- скрыть Python предупреждения
- listAllModules () включает BUILTIN модули
- Новая опция --only-с, чтобы проверить только модули, написанные на C
- утечка исправление памяти: выгрузка испытания модулей
- исправить getFunctions (): использование также isclass () для определения классов
- предельный процесс Отключить Fusil максимальный объем памяти
Что нового в версии 1.3.1:
- фузея-питон: автоматического обнаружения всех модулей вместо статический список модулей, поймать любое исключение при загрузке модуля, только размывают государственные функции (использование модуля .__ все __)
- FileWatch: игнорировать повторяющиеся части на сессии переименования
- Удалить сессия части дублировать наименование (например, & Quot;. рассол-ошибке-ошибка & Quot; = & GT; & Quot; picke ошибок и Quot;)
- replay.py: не перенаправить стандартный ввод в / DEV / нуль, если --ptrace используется
- Процессор зонд: установлен максимальный срок от 3 до 10 секунд (и переименовать сеанс на успех)
Что нового в версии 1.3:
- Создать фузея-каркасной
- Удалить кодировку из WriteCode: используйте встроенная открыт () вместо codecs.open (), потому что файлы, созданные Open () гораздо быстрее
- Оптимизация FileWatch: не перекомпилировать модели на каждой сессии
- фузея теперь зависит от питона-ptrace 0,6
- Не используйте close_fds аргумент subprocess.Popen () на ОС Windows
- Конфигурация Fix читатель: normal_calm_load, normal_calm_sleep, slow_calm_load, ключи slow_calm_sleep глобальные параметры поплавка, не целое
- FileWatch использует шаблон, чтобы переименовать сеанс
Что нового в версии 1.2.1:
- Fix калечить агентом Image Магического fuzzer
- Fix AttachProcessPID () зонд: остановить датчик на выходе процесса
Что нового в версии 1.2:
видимых изменений
- Система
- Fusil теперь требует Python 2.5
- Документация: написать индекс (index.rst) и руководство пользователя (usage.rst)
- Повтор сценарий: скопировать HOME среду для GDB и поймать УИП () ошибка
- фузея-Firefox: поддержка форматов больше (BMP, GIF, ICO, PNG, SVG), создать --test параметр командной строки, написать страницу HTML в файл index.html
- фузея-питон: написать ошибки в стандартный поток ошибок (вместо стандартный вывод), чтобы избежать ошибки Unicode (особенно с Python3)
- FileWatch: переименовать сессию & Quot; long_output & Quot; если программа пишет больше, чем max_nbline линий
- фузея-питон: черный список posix.fork (), чтобы избежать ложных срабатываний
- Если процесс будет убит по сигналу, переименовать сеанс, используя имя сигнала (уже работал, если отладчик был отключен)
- изменения Разработчик:
- MangleAgent поддерживает несколько входных файлов
- Создать DummyMangle: агент с MangleFile API, но не трогай содержимое файла для проверки fuzzer
- Сеть: закрыть () метод NetworkClient и использование ServerClient выключение (SHUT_RDWR)
- NetworkServer использует отставание 5 клиентов для socket.listen () (вместо 1)
- Исправления:
- Fix Directory.rmtree () и воспроизведения сценарий для Python 3.0
- Fix ServerClient.sendBytes (): использование socket.send () результат, чтобы получить следующие данные смещения
Что нового в версии 1.0 Final:
- Этот релиз добавляет VLC и zzuf фузерами, повтор. ру сценарий с большим количеством опций (например --valgrind), и вариант --force-небезопасно (например, --unsafe но без подтверждения).
- Это всегда использует нулевое устройство в качестве стандартного ввода для дочерних процессов избежать блокирования fuzzer если процесс читает стандартный ввод.
- Созданный идентификатор процесса написано в журналах.
Что нового в версии 1.0 Beta 3:
- Сессия переименовать с помощью статуса процесс выхода ( Код выхода или сигнал). Отображается ход выполнения.
- Общее количество процессов ограничено (для защиты от вилки бомб) и дамп допускается.
- Ошибки, введенные переключения пользователя были установлены.
- Совместимость с Python 3000 и FreeBSD была улучшена.
Требования
- Python
- GCC
Комментарии не найдены