Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
LibPNG_OSS-Fuzz — 针对libpng使用OSS-Fuzz进行模糊测试的安全研究项目。包括种子语料库分析、自定义读写模糊测试器,以及针对CVE-2014-9495的概念验证漏洞利用程序。 | Kitploit
工具/GitHubGitHub/enessar/libpng_oss-fuzz
漏洞分析代码分析漏洞利用模糊测试二进制分析学习与教育
GitHubenessar/libpng_oss-fuzz

LibPNG_OSS-Fuzz

针对libpng使用OSS-Fuzz进行模糊测试的安全研究项目。包括种子语料库分析、自定义读写模糊测试器,以及针对CVE-2014-9495的概念验证漏洞利用程序。

查看仓库
19个月前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

libpng 的模糊测试与漏洞分析

小组安全研究项目

关于模糊测试: 模糊测试是一种自动化软件测试技术,向程序提供无效、意外或随机数据,以发现缺陷和漏洞。导向覆盖的模糊测试利用代码覆盖反馈,智能地探索不同的执行路径。

关于 OSS-Fuzz: OSS-Fuzz 是 Google 针对开源软件的持续模糊测试服务。它使用 LibFuzzer 及其他模糊测试引擎,自动测试关键开源项目并报告漏洞。

本项目演示了使用 Google 的 OSS-Fuzz 框架对 libpng 库进行导向覆盖的模糊测试、代码覆盖分析及漏洞利用。

目标: libpng v1.6.48(模糊测试)、v1.5.20(漏洞利用)

详细方法和完整报告: 参见 report.pdf
完整操作说明: 参见 Instructions.md


结果摘要

第 1 部分:种子语料库影响分析

指标使用语料库未使用语料库提升幅度
行覆盖率41.83%24.76%+17.07%
分支覆盖率35.49%21.03%+14.46%
函数覆盖率50.75%34.75%+16.00%

覆盖率比较

第 3 部分:自定义模糊测试器改进

改进 1 - 增强型读取模糊测试器 (submit_improve1)

  • 行覆盖率:33.02% → 34.08% (+1.06%)
  • 添加了 PNG 变换 API 调用和边界案例测试
  • 在 pngread.c 中新增 +74 行,在 pngtrans.c 中新增 +73 行

改进 2 - 写入模糊测试器 (submit_improve2)

  • 为 PNG 编码(写入操作)创建了新模糊测试器
  • 写入函数覆盖率:0% → 30-50%
  • 新增覆盖 1,270 行此前未测试的代码

覆盖率比较2

第 4 部分:CVE-2014-9495 漏洞利用

成功利用了 libpng v1.5.20 中的堆缓冲区溢出漏洞:

  • Adam7 隔行 PNG 处理中的整数溢出
  • PoC 触发 AddressSanitizer 检测
  • 脚本:part4/run.poc.sh

成果

  • 种子语料库影响:覆盖率提升 +17%
  • 自定义模糊测试器:2 个新变体(增强型读取 + 写入模糊测试器)
  • 新增覆盖:此前未测试的 1,270 行代码
  • CVE 漏洞利用:成功实现 CVE-2014-9495 的 PoC

项目结构

root@kitploit:~
├── part1/               # Seed corpus impact analysis
│   ├── run.w_corpus.sh         # Run with seed corpus
│   ├── run.w_o_corpus.sh       # Run without seed corpus
│   └── report/                 # Coverage reports
├── part3/               # Custom fuzzer improvements
│   ├── improve1/               # Enhanced read fuzzer
│   └── improve2/               # New write fuzzer
└── part4/               # CVE-2014-9495 exploitation
    ├── run.poc.sh              # Run exploit
    └── write_exploit.c         # PoC code

快速开始

root@kitploit:~
# Part 1: Fuzzing experiments (4 hours each)
cd part1
./run.w_corpus.sh    # or ./run.w_o_corpus.sh

# Part 3: Test improvements (4 hours each)
cd part3/improve1 && ./run.improve1.sh
cd part3/improve2 && ./run.improve2.sh

# Part 4: Exploit CVE
cd part4 && ./run.poc.sh

查看覆盖率报告:

root@kitploit:~
firefox part1/report/w_corpus/linux/index.html

小组成员

本次安全研究项目由以下人员协作完成:

  • Mahdi Atallah
  • Rassene M'Sadaa
  • Yannik Krone
  • Yonathan Lanzmann
下载工具