Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
LibPNG_OSS-Fuzz — Projet de recherche en sécurité sur le fuzzing de libpng avec OSS-Fuzz. Il comprend l'analyse du corpus initial, des fuzzers personnalisés de lecture/écriture et une preuve de concept pour CVE-2014-9495. | Kitploit
Outils/GitHubGitHub/enessar/libpng_oss-fuzz
Analyse des VulnérabilitésAnalyse de CodeExploitationFuzzingAnalyse de BinairesApprentissage et Éducation
GitHubenessar/libpng_oss-fuzz

LibPNG_OSS-Fuzz

Projet de recherche en sécurité sur le fuzzing de libpng avec OSS-Fuzz. Il comprend l'analyse du corpus initial, des fuzzers personnalisés de lecture/écriture et une preuve de concept pour CVE-2014-9495.

Voir le dépôt
1il y a 9 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Fuzzing et analyse de vulnérabilités de libpng

Projet de recherche en sécurité du groupe

À propos du fuzzing : Le fuzzing est une technique de test logiciel automatisé qui fournit des données invalides, inattendues ou aléatoires en entrée d'un programme afin de découvrir des bogues et des vulnérabilités. Le fuzzing guidé par couverture utilise le retour de couverture de code pour explorer intelligemment différents chemins d'exécution.

À propos d'OSS-Fuzz : OSS-Fuzz est le service de fuzzing continu de Google pour les logiciels open-source. Il utilise LibFuzzer et d'autres moteurs de fuzzing pour tester automatiquement des projets open-source critiques et signaler les vulnérabilités.

Ce projet démontre le fuzzing guidé par couverture, l'analyse de couverture de code et l'exploitation de vulnérabilités en utilisant le framework OSS-Fuzz de Google sur la bibliothèque libpng.

Cible : libpng v1.6.48 (fuzzing), v1.5.20 (exploitation)

Pour la méthodologie détaillée et le rapport complet : voir report.pdf
Pour les instructions complètes : voir Instructions.md


Résumé des résultats

Partie 1 : Analyse de l'impact du corpus initial

comparaison de couverture

Partie 3 : Améliorations du fuzzer personnalisé

Amélioration 1 - Fuzzer de lecture amélioré (submit_improve1)

  • Couverture de lignes : 33.02% → 34.08% (+1.06%)
  • Ajout d'appels à l'API de transformation PNG et de tests de cas limites
  • +74 lignes dans pngread.c, +73 lignes dans pngtrans.c

Amélioration 2 - Fuzzer d'écriture (submit_improve2)

  • Création d'un nouveau fuzzer pour l'encodage PNG (opérations d'écriture)
  • Fonctions d'écriture : 0% → 30-50% de couverture
  • +1 270 lignes de code non testé précédemment couvertes

comparaison de couverture 2

Partie 4 : Exploitation de CVE-2014-9495

Exploitation réussie d'un dépassement de tampon de tas (heap buffer overflow) dans libpng v1.5.20 :

  • Dépassement d'entier dans le traitement PNG entrelacé Adam7
  • La preuve de concept (PoC) déclenche la détection d'AddressSanitizer
  • Script : part4/run.poc.sh

Réalisations

  • Impact du corpus initial : +17% d'amélioration de la couverture
  • Fuzzers personnalisés : 2 nouvelles variantes (fuzzer de lecture amélioré + fuzzer d'écriture)
  • Nouvelle couverture : +1 270 lignes de code non testé précédemment
  • Exploitation CVE : PoC réussi pour CVE-2014-9495

Structure du projet

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

Démarrage rapide

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

Consulter les rapports de couverture :

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

Membres du groupe

Ce projet de recherche en sécurité a été réalisé en collaboration par :

  • Mahdi Atallah
  • Rassene M'Sadaa
  • Yannik Krone
  • Yonathan Lanzmann
Télécharger l’outil
MétriqueAvec corpusSans corpusAmélioration
Couverture de lignes41.83%24.76%+17.07%
Couverture de branches35.49%21.03%+14.46%
Couverture de fonctions50.75%34.75%+16.00%