Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Damn_Vulnerable_C_Program — Um programa C de exemplo que contém código vulnerável para tipos comuns de vulnerabilidades. Pode ser usado para demonstrar conceitos de fuzzing. | Kitploit
Ferramentas/GitHubGitHub/hardik05/damn_vulnerable_c_program
Análise de VulnerabilidadesFuzzingAprendizado e EducaçãoLabs e Prática
GitHubhardik05/damn_vulnerable_c_program

Damn_Vulnerable_C_Program

Um programa C de exemplo que contém código vulnerável para tipos comuns de vulnerabilidades. Pode ser usado para demonstrar conceitos de fuzzing.

Ver Repositório
Site
7261884há 1 anoRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Nota: o nome do arquivo foi alterado de imgRead.c para dvcp.c; se você estiver assistindo vídeos, verá imgRead.c, mas no repositório do GitHub verá dvcp.c, use o nome de arquivo correto.

Damn Vulnerable C Program(DVCP)

Twitter Follow

Meu Canal no YouTube: https://www.youtube.com/user/MrHardik05/featured?view_as=subscriber

O que é?

Este é um programa C simples que codifiquei para explicar tipos comuns de vulnerabilidades como:

  1. estouro de inteiro
  2. underflow de inteiro
  3. leitura fora dos limites
  4. escrita fora dos limites
  5. Double Free
  6. Use-After-Free
  7. vazamentos de memória
  8. exaustão de pilha
  9. exaustão de heap

Este programa C contém código vulnerável de todas as vulnerabilidades acima e você pode fazer fuzzing nele usando qualquer fuzzer como AFL, libafl, libfuzzer, hongfuzz, winafl, jackalope ou qualquer outro fuzzer que desejar.

Como Compilar

Basta digitar "make" no prompt de comando. O Makefile está incluído.

Como gerar entrada para o AFL?

basta criar um arquivo de entrada de exemplo como a seguir e o resto o AFL cuidará:

echo "IMG" >input/1.txt

O AFL gerará automaticamente novos casos de teste e descobrirá a maioria das vulnerabilidades mencionadas acima. Essa é a beleza do AFL :)

Como fazer fuzzing com AFL?

1. Primeiro compile este programa usando o seguinte comando:

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

2. execute este comando:

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

Como fazer fuzzing usando honggfuzz

1. Primeiro compile este programa usando o seguinte comando:

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

2. execute este comando:

hongfuzz -i input -- ./dvcp ___FILE___

Como fazer fuzzing usando libfuzzer

Você precisa modificar o código C; você pode obter o código atualizado aqui: https://github.com/hardik05/Damn_Vulnerable_C_Program/blob/master/dvcp_libfuzzer.c

1. Compile o programa usando o seguinte comando:

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

2. execute este comando para fazer fuzzing:

./dvcp_libfuzzer

Você pode ver os tutoriais em vídeo aqui:

Playlist Completa de Fuzzing:

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

vídeos individuais abaixo:

Linux

LibAFL

[Fuzzing com libAFL]Como instalar o libAFL no sistema e quais são os diferentes componentes? -> https://www.youtube.com/watch?v=ztGfxbvcrms

[Fuzzing com libAFL]Introdução ao ForkServer do libAFL, executando o fuzzer forkserver do libAFL. -> https://www.youtube.com/watch?v=Ed1anYoGTyA

[Fuzzing com libAFL]Fuzzing no Damn Vulnerable C Program com o fuzzer forkserver do libAFL -> https://www.youtube.com/watch?v=ad_4zroiS_g

[Fuzzing com libAFL] Usando o modo de memória compartilhada com o fuzzer forkserver do libAFL -> https://www.youtube.com/watch?v=GXD_qkISyfY

AFL++

[Fuzzing com AFLplusplus] Instalando o AFLPlusplus e fazendo fuzzing em um programa C simples -> https://www.youtube.com/watch?v=9wRVo0kYSlc

[Fuzzing com AFLplusplus] Como fazer fuzzing em um binário sem código-fonte no Linux em modo persistente -> https://www.youtube.com/watch?v=LGPJdEO02p4

AFL

[Fuzzing com AFL] Como instalar o AFL no Ubuntu-> https://www.youtube.com/watch?v=r7ucv2kN4j4

[Fuzzing com AFL] Fazendo fuzzing em um programa C simples com AFL -> https://www.youtube.com/watch?v=NiGC1jxFx78&t=66s

[Fuzzing com AFL] Encontrando diferentes tipos de vulnerabilidades com o AFL -> https://www.youtube.com/watch?v=m1RkShHzx_8&t=151s

[Fuzzing com AFL] Triagem de crashes com crashwalk e descoberta da causa raiz com GDB -> https://www.youtube.com/watch?v=5R2gPkCXZkM

[Fuzzing com AFL] Fazendo fuzzing em um binário sem código-fonte com AFL no modo Qemu.-> https://www.youtube.com/watch?v=np3sLLFQs6I

Honggfuzz

[Fuzzing com honggfuzz] Fazendo fuzzing em um programa C simples com HongFuzz -> https://www.youtube.com/watch?v=6OBXJtEe-d8

[Fuzzing com honggfuzz] Hongfuzz,checksec(pwntools),ASAN -> https://www.youtube.com/watch?v=Lr8pLQRTHac

Libfuzzer

[Fuzzing com libfuzzer] Como fazer fuzzing em um programa C simples usando LibFuzzer -> https://www.youtube.com/watch?v=hFva8kJQwnc&list=PLHGgqcJIME5m7HaHfACayoyN0TRe2PHRp

[Fuzzing com libfuzzer,AFL] Como fazer fuzzing no programa harness do libfuzzer usando AFL -> https://www.youtube.com/watch?v=HfEqm3TrfwM&list=PLHGgqcJIME5m7HaHfACayoyN0TRe2PHRp&index=2

Como replicar as vulnerabilidades do OpenSSL CVE-2022-3602 e CVE-2022-3786 e usar o libfuzzer -> https://www.youtube.com/watch?v=vhTuXph1dtY

Radamsa

[Fuzzing com Radamsa] Fazendo fuzzing em um programa C simples com Radamsa -> https://youtu.be/1FRsXVNpynQ

Windows

WinAFL

[Fuzzing com WinAFL] Fazendo fuzzing em um programa C simples com WinAFL -> https://www.youtube.com/watch?v=Va_Wtxf3DMc

[Fuzzing com WinAFL] O que é uma função de fuzzing, como garantir que tudo está funcionando corretamente? -> https://www.youtube.com/watch?v=HLORLsNnPzo

Preciso de mais harnesses para Windows para fazer fuzzing com winafl

claro, confira aqui -> https://github.com/hardik05/winafl-harness

quero tentar algo diferente, talvez alguns mutadores diferentes dos padrões do winafl..

sim, você pode tentar isso -> https://github.com/hardik05/winafl-powermopt

mais serão enviados conforme eu os criar.

OSS-Fuzz do Google

Como o OSS-Fuzz Funciona: Um Guia para Testes de Fuzzing em Projetos de Código Aberto -> https://www.youtube.com/watch?v=OBxCDsJ-0aM

Por que você criou isso?

Leva muito tempo para recém-chegados e até mesmo pessoas experientes entenderem diferentes tipos de vulnerabilidades. Eu mesmo enfrentei esse problema e decidi compartilhar o que aprendi.

Se você aprender algo com isso, envie-me uma nota de agradecimento. Isso é tudo que preciso. Além disso, se você quiser melhorar ou corrigir algo, PRs são bem-vindos!

Autor?

Twitter: https://twitter.com/hardik05

Email: Me envie um DM no Twitter :)

Web: http://hardik05.wordpress.com

Feedback?

Sugestões e comentários são sempre bem-vindos. Se você encontrar algum problema, tiver uma correção ou um novo recurso, envie um pull request.

Star History

Star History Chart

Baixar ferramenta