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

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

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

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

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

Категории

Все категории
Loading categories
Damn_Vulnerable_C_Program — Пример программы на C, содержащей уязвимый код для распространённых типов уязвимостей. Её можно использовать для демонстрации концепций фаззинга. | Kitploit
Инструменты/GitHubGitHub/hardik05/damn_vulnerable_c_program
Анализ уязвимостейФаззингОбучение и ОбразованиеЛаборатории и Практика
GitHubhardik05/damn_vulnerable_c_program

Damn_Vulnerable_C_Program

Пример программы на C, содержащей уязвимый код для распространённых типов уязвимостей. Её можно использовать для демонстрации концепций фаззинга.

Репозиторий
Сайт
72618841 год назадПроверено Kitploit

Популярное

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

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

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

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

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

Примечание: имя файла было изменено с imgRead.c на dvcp.c; если вы смотрите видео, вы увидите imgRead.c, но в репозитории GitHub вы увидите dvcp.c, пожалуйста, используйте правильное имя файла.

Чертовски уязвимая программа на C (DVCP)

Twitter Follow

Мой YouTube-канал: https://www.youtube.com/user/MrHardik05/featured?view_as=subscriber

Что это такое?

Это простая программа на C, которую я написал, чтобы объяснить распространённые типы уязвимостей, такие как:

  1. целочисленное переполнение
  2. целочисленное антипереполнение
  3. чтение за пределами буфера
  4. запись за пределами буфера
  5. двойное освобождение памяти
  6. использование после освобождения
  7. утечки памяти
  8. исчерпание стека
  9. исчерпание кучи

Эта программа на C содержит уязвимый код со всеми перечисленными выше уязвимостями, и вы можете фаззить её с помощью любого фаззера, например AFL, libafl, libfuzzer, hongfuzz, winafl, jackalope или любого другого фаззера на ваш выбор.

Как скомпилировать

Просто введите «make» в командной строке. Makefile прилагается.

Как сгенерировать входные данные для AFL?

просто создайте пример входного файла, как показано ниже, а остальным AFL займётся сам:

echo "IMG" >input/1.txt

AFL автоматически сгенерирует новые тест-кейсы и обнаружит большинство из упомянутых выше уязвимостей. В этом вся прелесть AFL :)

Как фаззить её с помощью AFL?

1. Сначала скомпилируйте эту программу следующей командой:

afl-gcc -g -fsanitize=address dvcp.c -o dvcp

2. выполните эту команду:

afl-fuzz -i input -o output -m none -- ./dvcp @@

Как фаззить её с помощью honggfuzz

1. Сначала скомпилируйте эту программу следующей командой:

hfuzz-gcc -g -fsanitize=address dvcp.c -o dvcp

2. выполните эту команду:

hongfuzz -i input -- ./dvcp ___FILE___

Как фаззить с помощью libfuzzer

Вам нужно изменить код на C; обновлённый код можно получить здесь: https://github.com/hardik05/Damn_Vulnerable_C_Program/blob/master/dvcp_libfuzzer.c

1. Скомпилируйте программу следующей командой:

clang -fsanitize=fuzzer,address,undefined -g dvcp_libfuzzer.c -o dvcp_libfuzzer

2. выполните эту команду для фаззинга:

./dvcp_libfuzzer

Вы можете посмотреть видеоуроки здесь:

Полный плейлист по фаззингу:

https://www.youtube.com/watch?v=r7ucv2kN4j4&list=PLHGgqcJIME5kYhOSdJjvtVS4b4_OXDqM-

отдельные видео ниже:

Linux

LibAFL

[Фаззинг с помощью libAFL]Как установить libAFL в систему и каковы различные компоненты? -> https://www.youtube.com/watch?v=ztGfxbvcrms

[Фаззинг с помощью libAFL]Введение в ForkServer libAFL, запуск фаззера forkserver libAFL. -> https://www.youtube.com/watch?v=Ed1anYoGTyA

[Фаззинг с помощью libAFL]Фаззинг чертовски уязвимой программы на C с помощью фаззера forkserver libAFL -> https://www.youtube.com/watch?v=ad_4zroiS_g

[Фаззинг с помощью libAFL] Использование режима общей памяти с фаззером forkserver libAFL -> https://www.youtube.com/watch?v=GXD_qkISyfY

AFL++

[Фаззинг с помощью AFLplusplus] Установка AFLPlusplus и фаззинг простой программы на C -> https://www.youtube.com/watch?v=9wRVo0kYSlc

[Фаззинг с помощью AFLplusplus] Как фаззить бинарный файл без исходного кода в Linux в постоянном режиме -> https://www.youtube.com/watch?v=LGPJdEO02p4

AFL

[Фаззинг с помощью AFL] Как установить AFL на Ubuntu-> https://www.youtube.com/watch?v=r7ucv2kN4j4

[Фаззинг с помощью AFL] Фаззинг простой программы на C с помощью AFL -> https://www.youtube.com/watch?v=NiGC1jxFx78&t=66s

[Фаззинг с помощью AFL] Поиск различных типов уязвимостей с помощью AFL -> https://www.youtube.com/watch?v=m1RkShHzx_8&t=151s

[Фаззинг с помощью AFL] Триаж крашей с помощью crashwalk и поиск первопричины с помощью GDB -> https://www.youtube.com/watch?v=5R2gPkCXZkM

[Фаззинг с помощью AFL] Фаззинг бинарного файла без исходного кода с помощью AFL в режиме Qemu.-> https://www.youtube.com/watch?v=np3sLLFQs6I

Honggfuzz

[Фаззинг с помощью honggfuzz] Фаззинг простой программы на C с помощью HongFuzz -> https://www.youtube.com/watch?v=6OBXJtEe-d8

[Фаззинг с помощью honggfuzz] Hongfuzz,checksec(pwntools),ASAN -> https://www.youtube.com/watch?v=Lr8pLQRTHac

Libfuzzer

[Фаззинг с помощью libfuzzer] Как фаззить простую программу на C с помощью LibFuzzer -> https://www.youtube.com/watch?v=hFva8kJQwnc&list=PLHGgqcJIME5m7HaHfACayoyN0TRe2PHRp

[Фаззинг с помощью libfuzzer,AFL] Как фаззить программу-харнесс для libfuzzer с помощью AFL -> https://www.youtube.com/watch?v=HfEqm3TrfwM&list=PLHGgqcJIME5m7HaHfACayoyN0TRe2PHRp&index=2

Как воспроизвести уязвимости OpenSSL CVE-2022-3602 и CVE-2022-3786 и использовать libfuzzer -> https://www.youtube.com/watch?v=vhTuXph1dtY

Radamsa

[Фаззинг с помощью Radamsa] Фаззинг простой программы на C с помощью Radamsa -> https://youtu.be/1FRsXVNpynQ

Windows

WinAFL

[Фаззинг с помощью WinAFL] Фаззинг простой программы на C с помощью WinAFL -> https://www.youtube.com/watch?v=Va_Wtxf3DMc

[Фаззинг с помощью WinAFL] Что такое фаззинг-функция и как убедиться, что всё работает правильно? -> https://www.youtube.com/watch?v=HLORLsNnPzo

Мне нужно больше харнессов для Windows, чтобы фаззить с помощью winafl

конечно, загляните сюда -> https://github.com/hardik05/winafl-harness

я хочу попробовать что-то другое, возможно, какие-то другие мутаторы, отличные от стандартных в winafl..

да, вы можете попробовать вот это -> https://github.com/hardik05/winafl-powermopt

Больше будет загружено по мере их создания.

OSS-Fuzz от Google

Как работает OSS-Fuzz: руководство по фазз-тестированию для проектов с открытым исходным кодом -> https://www.youtube.com/watch?v=OBxCDsJ-0aM

Зачем вы это создали?

Понимание различных типов уязвимостей занимает много времени у новичков и даже у опытных людей. Я сам столкнулся с этой проблемой и решил поделиться тем, чему научился.

Если вы чему-то из этого научились, отправьте мне благодарственную записку. Это всё, что мне нужно. Кроме того, если вы хотите что-то улучшить или исправить, пул-реквесты приветствуются!

Автор?

Twitter: https://twitter.com/hardik05

Электронная почта: напишите мне в личку в Twitter :)

Веб-сайт: http://hardik05.wordpress.com

Обратная связь?

Предложения и комментарии всегда приветствуются. Если вы нашли какую-либо проблему, у вас есть исправление или новая функция, отправляйте пул-реквест.

История звёзд

Star History Chart

Скачать инструмент