Этот пример показывает фаззинг JAVA приложения
В системе должна быть установлена JAVA 8 версии. Если Ваш проект не принимает на вход файл, то необходимо написать driver, на вход которому передается файл с данными, а он в свою очередь запускает JAVA приложение, которое Вы хотите фаззить.
В данном примере исходный код driver и jar файл с проектом находятся в директории target
.
Находясь в данной директории, запустите скрипт ./instrumentation.sh
для компиляции driver-а и инструментации приложения(driver-а) и используемых библиотек,
он принимает 2 аргумента - путь до директории kelinci
и до компилятора javac
.
Находясь в данной директории, запустите скрипт ./fuzz.sh
;
он принимает один аргумент - путь до fuzz_manager
.
Запустите в другом терминале UI
фаззера (укажите актуальные пути):
/path/to/crusher/bin_x86-64/ui --outdir /path/to/out
Как только будут найдены аварийные завершения, значение поля unique_crashes
(в окне UI
- наверху справа) станет ненулевым.
Прервать фаззинг (в первом терминале, Ctrl + С
)