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 程序。它可用于展示模糊测试概念。

查看仓库网站
7261881年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

注意:文件名已从imgRead.c更改为dvcp.c,如果你正在观看视频,你会看到imgRead.c,但在GitHub仓库中你会看到dvcp.c,请使用正确的文件名。

Damn Vulnerable C Program(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进行模糊测试]libAFL ForkServer简介,运行libAFL forkserver模糊测试器。 -> https://www.youtube.com/watch?v=Ed1anYoGTyA

[使用libAFL进行模糊测试]使用libAFL forkserver模糊测试器对Damn Vulnerable C Program进行模糊测试 -> https://www.youtube.com/watch?v=ad_4zroiS_g

[使用libAFL进行模糊测试] 在libAFL forkserver模糊测试器中使用共享内存模式 -> 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进行模糊测试] 如何在Ubuntu上安装AFL-> https://www.youtube.com/watch?v=r7ucv2kN4j4

[使用AFL进行模糊测试] 使用AFL对一个简单的C程序进行模糊测试 -> 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进行模糊测试] 在Qemu模式下使用AFL模糊测试没有源代码的二进制文件。-> https://www.youtube.com/watch?v=np3sLLFQs6I

Honggfuzz

[使用honggfuzz进行模糊测试] 使用HongFuzz对一个简单的C程序进行模糊测试 -> https://www.youtube.com/watch?v=6OBXJtEe-d8

[使用honggfuzz进行模糊测试] Hongfuzz、checksec(pwntools)、ASAN -> https://www.youtube.com/watch?v=Lr8pLQRTHac

Libfuzzer

[使用libfuzzer进行模糊测试] 如何使用LibFuzzer对一个简单的C程序进行模糊测试 -> https://www.youtube.com/watch?v=hFva8kJQwnc&list=PLHGgqcJIME5m7HaHfACayoyN0TRe2PHRp

[使用libfuzzer、AFL进行模糊测试] 如何使用AFL对libfuzzer harness程序进行模糊测试 -> 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进行模糊测试] 使用Radamsa对一个简单的C程序进行模糊测试 -> https://youtu.be/1FRsXVNpynQ

Windows

WinAFL

[使用WinAFL进行模糊测试] 使用WinAFL对一个简单的C程序进行模糊测试 -> https://www.youtube.com/watch?v=Va_Wtxf3DMc

[使用WinAFL进行模糊测试] 什么是模糊测试函数,如何确保一切正常工作? -> https://www.youtube.com/watch?v=HLORLsNnPzo

我需要更多Windows harness来配合winafl进行模糊测试

当然,请查看这里 -> https://github.com/hardik05/winafl-harness

我想尝试一些不同的东西,也许是不同于winafl默认的变异器..

是的,你可以试试这个 -> https://github.com/hardik05/winafl-powermopt

随着我创建更多内容,会陆续上传。

来自Google的OSS-Fuzz

OSS-Fuzz的工作原理:开源项目模糊测试指南 -> https://www.youtube.com/watch?v=OBxCDsJ-0aM

你为什么创建这个?

对于新手甚至经验丰富的人来说,理解不同类型的漏洞都需要花费大量时间。我自己也遇到过这个问题,因此决定分享我所学到的东西。

如果你从中有所收获,请给我发一封感谢信。这就是我需要的全部。另外,如果你想改进或修复某些内容,欢迎提交PR!

作者?

Twitter: https://twitter.com/hardik05

邮箱: 在Twitter上私信我 :)

网站: http://hardik05.wordpress.com

反馈?

欢迎随时提出建议和意见。如果你发现任何问题、有修复方案或新功能,请发送拉取请求。

Star History

Star History Chart

下载工具