Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
fuzzing — 使用 libFuzzer 进行模糊测试,包括 openssl heartbleed (CVE-2014-0160) | Kitploit
Инструменты/GitHubGitHub/gardeniawhite/fuzzing
Анализ уязвимостейФаззингКриптографияАнализ Бинарных ФайловОбучение и ОбразованиеЛаборатории и Практика
GitHubgardeniawhite/fuzzing

fuzzing

使用 libFuzzer 进行模糊测试,包括 openssl heartbleed (CVE-2014-0160)

Репозиторий
2124 лет назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

libfuzzer-workshop

Материалы воркшопа "Современный фаззинг проектов на C/C++".

Первая версия воркшопа была представлена на конференции по безопасности ZeroNights'16.

Отказ от ответственности

Этот воркшоп был первоначально разработан в 2016 году. По состоянию на сегодняшний день (2021 и далее) практическая часть воркшопа может работать не сразу, так как libFuzzer сильно эволюционировал за эти годы. Теоретическая часть воркшопа все еще является хорошим учебным материалом, но для практических занятий рекомендуется следовать самой последней версии libFuzzer tutorial.

Требования

  • 2-3 часа вашего времени
  • ОС на базе Linux
  • Опыт работы с C/C++ (ничего особенного, но нужно уметь читать, писать и компилировать код на C/C++)
  • последняя версия компилятора clang. Дистрибутивы из менеджеров пакетов слишком стары и, скорее всего, не будут работать (воркшоп ведь называется "современный", не так ли?), у вас есть два варианта:
    • склонировать репозиторий llvm и собрать его самостоятельно. Чтобы упростить задачу, можете использовать скрипт checkout_build_install_llvm.sh; он протестирован на чистой Ubuntu 16.04.
    • доступна VirtualBox VM с рабочей средой, учётные данные: fuzzer:zeronights
  • sudo apt-get install -y make autoconf automake libtool pkg-config zlib1g-dev
  • Опыт фаззинга не требуется.

    Содержание

    1. Введение в фазз-тестирование
    2. Пример традиционного фаззинга
    3. Фаззинг с использованием покрытия кода
    4. Написание фаззеров (простые примеры)
    5. Поиск Heartbleed (CVE-2014-0160)
    6. Поиск ошибки c-ares за $100,000 (CVE-2016-5180)
    7. Как улучшить свой фаззер
    8. Фаззинг libxml2: изучение улучшения фаззера и анализ производительности
    9. Фаззинг libpng: изучение важности начального корпуса и прочего
    10. Фаззинг re2
    11. Фаззинг pcre2
    12. Интеграция с Chromium и домашнее задание

    Большинство примеров взято из libFuzzer tutorial и Fuzzer Test Suite.

    Предварительные требования

    libFuzzer

    Собрать libFuzzer очень просто:

    root@kitploit:~
    cd libFuzzer
    Fuzzer/build.sh
    

    Репозиторий libFuzzer можно найти внутри проекта compiler-rt LLVM.

    Ссылки

    • все слайды в одной презентации: Modern Fuzzing of C/C++ Projects
    • документация libFuzzer: http://libfuzzer.info
    • учебник по libFuzzer: http://tutorial.libfuzzer.info
    • Блог Google Online Security: Guided in-process fuzzing of Chrome components
    Скачать инструмент