Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Herramientas/GitHubGitHub/hardik05/damn_vulnerable_c_program
Análisis de VulnerabilidadesFuzzingAprendizaje y EducaciónLabs y Práctica
GitHubhardik05/damn_vulnerable_c_program

Damn_Vulnerable_C_Program

Un programa de ejemplo en C que contiene código vulnerable para tipos comunes de vulnerabilidades. Puede utilizarse para mostrar conceptos de fuzzing.

Ver Repositorio

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Sitio web
726188hace 1 añoRevisado por Kitploit

Nota: el nombre del archivo se ha cambiado de imgRead.c a dvcp.c; si estás viendo videos, verás imgRead.c, pero en el repositorio de GitHub verás dvcp.c. Usa el nombre de archivo correcto.

Damn Vulnerable C Program(DVCP)

Twitter Follow

Mi canal de YouTube: https://www.youtube.com/user/MrHardik05/featured?view_as=subscriber

¿Qué es?

Este es un programa C simple que he codificado para explicar tipos comunes de vulnerabilidades como:

  1. desbordamiento de enteros
  2. subdesbordamiento de enteros
  3. lectura fuera de los límites
  4. escritura fuera de los límites
  5. doble liberación
  6. uso después de liberación
  7. fugas de memoria
  8. agotamiento de la pila
  9. agotamiento del montón

Este programa C contiene código vulnerable de todas las vulnerabilidades anteriores y puedes fuzzearlo usando cualquier fuzzer como AFL, libafl, libfuzzer, hongfuzz, winafl, jackalope o cualquier otro fuzzer que quieras.

Cómo compilar

Solo escribe "make" en el símbolo del sistema. El Makefile está incluido.

¿Cómo generar la entrada para AFL?

solo crea un archivo de entrada de muestra como se indica a continuación y AFL se encargará del resto:

echo "IMG" >input/1.txt

AFL generará automáticamente nuevos casos de prueba y descubrirá la mayoría de las vulnerabilidades mencionadas anteriormente. Esa es la belleza de AFL :)

¿Cómo fuzzearlo con AFL?

1. Primero compila este programa con el siguiente comando:

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

2. ejecuta este comando:

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

¿Cómo fuzzearlo usando honggfuzz?

1. Primero compila este programa con el siguiente comando:

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

2. ejecuta este comando:

hongfuzz -i input -- ./dvcp ___FILE___

¿Cómo fuzzear usando libfuzzer?

Necesitas modificar el código C; puedes obtener el código actualizado desde aquí: https://github.com/hardik05/Damn_Vulnerable_C_Program/blob/master/dvcp_libfuzzer.c

1. Compila el programa con el siguiente comando:

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

2. ejecuta este comando para fuzzear:

./dvcp_libfuzzer

Puedes ver los videotutoriales aquí:

Lista de reproducción completa de fuzzing:

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

videos individuales a continuación:

Linux

LibAFL

[Fuzzing con libAFL]Cómo instalar libAFL en el sistema y cuáles son los diferentes componentes? -> https://www.youtube.com/watch?v=ztGfxbvcrms

[Fuzzing con libAFL]Introducción a libAFL ForkSever, ejecutando el fuzzer forkserver de libAFL. -> https://www.youtube.com/watch?v=Ed1anYoGTyA

[Fuzzing con libAFL]Fuzzeando el programa C Damn Vulnerable con el fuzzer forkserver de libAFL -> https://www.youtube.com/watch?v=ad_4zroiS_g

[Fuzzing con libAFL] Usando el modo de memoria compartida con el fuzzer forkserver de libAFL -> https://www.youtube.com/watch?v=GXD_qkISyfY

AFL++

[Fuzzing con AFLplusplus] Instalando AFLPlusplus y fuzzeando un programa C simple -> https://www.youtube.com/watch?v=9wRVo0kYSlc

[Fuzzing con AFLplusplus] Cómo fuzzear un binario sin código fuente en Linux en modo persistente -> https://www.youtube.com/watch?v=LGPJdEO02p4

AFL

[Fuzzing con AFL] Cómo instalar AFL en Ubuntu-> https://www.youtube.com/watch?v=r7ucv2kN4j4

[Fuzzing con AFL] Fuzzeando un programa C simple con AFL -> https://www.youtube.com/watch?v=NiGC1jxFx78&t=66s

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

[Fuzzing con AFL] Clasificando fallos con crashwalk y encontrando la causa raíz con GDB -> https://www.youtube.com/watch?v=5R2gPkCXZkM

[Fuzzing con AFL] Fuzzeando un binario sin código fuente con AFL en modo Qemu.-> https://www.youtube.com/watch?v=np3sLLFQs6I

Honggfuzz

[Fuzzing con honggfuzz] Fuzzeando un programa C simple con HongFuzz -> https://www.youtube.com/watch?v=6OBXJtEe-d8

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

Libfuzzer

[Fuzzing con libfuzzer] Cómo fuzzear un programa C simple usando LibFuzzer -> https://www.youtube.com/watch?v=hFva8kJQwnc&list=PLHGgqcJIME5m7HaHfACayoyN0TRe2PHRp

[Fuzzing con libfuzzer,AFL] Cómo fuzzear el programa harness de libfuzzer usando AFL -> https://www.youtube.com/watch?v=HfEqm3TrfwM&list=PLHGgqcJIME5m7HaHfACayoyN0TRe2PHRp&index=2

Cómo replicar las vulnerabilidades de OpenSSL CVE-2022-3602 y CVE-2022-3786 y usar libfuzzer -> https://www.youtube.com/watch?v=vhTuXph1dtY

Radamsa

[Fuzzing con Radamsa] Fuzzeando un programa C simple con Radamsa -> https://youtu.be/1FRsXVNpynQ

Windows

WinAFL

[Fuzzing con WinAFL] Fuzzeando un programa C simple con WinAFL -> https://www.youtube.com/watch?v=Va_Wtxf3DMc

[Fuzzing con WinAFL] ¿Qué es una función de fuzzing y cómo asegurarse de que todo funciona correctamente? -> https://www.youtube.com/watch?v=HLORLsNnPzo

Necesito más harness de Windows para fuzzear con winafl

claro, revisa aquí -> https://github.com/hardik05/winafl-harness

quiero probar algo diferente, quizás algunos mutadores distintos a los predeterminados de winafl..

sí, puedes probar esto -> https://github.com/hardik05/winafl-powermopt

se subirán más a medida que los cree.

OSS-Fuzz de Google

Cómo funciona OSS-Fuzz: una guía de fuzzing para proyectos de código abierto -> https://www.youtube.com/watch?v=OBxCDsJ-0aM

¿Por qué creaste esto?

Lleva mucho tiempo a los recién llegados e incluso a las personas con experiencia comprender los diferentes tipos de vulnerabilidades. Yo mismo me he enfrentado a este problema y decidí compartir lo que aprendí.

Si aprendes algo de esto, envíame una nota de agradecimiento. Eso es todo lo que necesito. Además, si quieres mejorar o corregir algo, ¡los PR son bienvenidos!

¿Autor?

Twitter: https://twitter.com/hardik05

Correo electrónico: envíame un DM en Twitter :)

Web: http://hardik05.wordpress.com

¿Comentarios?

Las sugerencias y comentarios siempre son bienvenidos. Si encuentras algún problema, tienes una corrección o una nueva funcionalidad, envía un pull request.

Historial de estrellas

Gráfico de historial de estrellas

Descargar herramienta