Skip to content

Latest commit

 

History

History

python_fuzz

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

Общее описание

Фаззинг библиотеки на языке Python.
В качестве целевой выбрана функция load() из библиотеки pdfquery.
Обёртка над функцией - testpdf.py

Подробнее про фаззинг приложений на языке Python - см. раздел "Инструментация Python" в документации к Crusher.

Подготовка к фаззингу

  1. Необходимо дополнительно установить atheris (с применением соответствующих патчей) в python фаззера:
/path/to/crusher/tools/install_atheris.sh
  1. Необходимо установить библиотеки pdfquery и six в python фаззера:
/path/to/crusher/bin_x86-64/python-3.9_x86_64/bin/pip3 install pdfquery six

Фаззинг

Находясь в данной директории, запустите скрипт ./fuzz.sh; он принимает один аргумент - путь до fuzz_manager.

Запустите в другом терминале UI фаззера (укажите актуальные пути):

/path/to/crusher/bin_x86-64/ui --outdir /path/to/out

Как только будут найдены аварийные завершения, значение поля unique_crashes (в окне UI - наверху справа) станет ненулевым.

Прервать фаззинг (в первом терминале, Ctrl + С)