Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
LibPNG_OSS-Fuzz — Progetto di ricerca sulla sicurezza per il fuzzing di libpng con OSS-Fuzz. Include l'analisi del seed corpus, fuzzer personalizzati di lettura/scrittura e un exploit proof-of-concept per CVE-2014-9495. | Kitploit
Strumenti/GitHubGitHub/enessar/libpng_oss-fuzz
Analisi delle VulnerabilitàAnalisi del CodiceExploitFuzzingAnalisi di BinariApprendimento e Formazione
GitHubenessar/libpng_oss-fuzz

LibPNG_OSS-Fuzz

Progetto di ricerca sulla sicurezza per il fuzzing di libpng con OSS-Fuzz. Include l'analisi del seed corpus, fuzzer personalizzati di lettura/scrittura e un exploit proof-of-concept per CVE-2014-9495.

Vedi Repository
19 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Analisi di Fuzzing e Vulnerabilità di libpng

Progetto di Ricerca sulla Sicurezza di Gruppo

Informazioni sul Fuzzing: Il fuzzing è una tecnica automatizzata di test del software che fornisce dati non validi, inattesi o casuali a un programma per scoprire bug e vulnerabilità. Il fuzzing guidato dalla copertura utilizza il feedback della copertura del codice per esplorare in modo intelligente diversi percorsi di esecuzione.

Informazioni su OSS-Fuzz: OSS-Fuzz è il servizio di fuzzing continuo di Google per software open-source. Utilizza LibFuzzer e altri motori di fuzzing per testare automaticamente progetti open-source critici e segnalare vulnerabilità.

Questo progetto dimostra il fuzzing guidato dalla copertura, l'analisi della copertura del codice e lo sfruttamento delle vulnerabilità utilizzando il framework OSS-Fuzz di Google sulla libreria libpng.

Obiettivo: libpng v1.6.48 (fuzzing), v1.5.20 (sfruttamento)

Per la metodologia dettagliata e il report completo: vedi report.pdf
Per le istruzioni complete: vedi Instructions.md


Riepilogo dei Risultati

Parte 1: Analisi dell'Impatto del Seed Corpus

confronto copertura

Parte 3: Miglioramenti del Fuzzer Personalizzato

Miglioramento 1 - Fuzzer di Lettura Potenziato (submit_improve1)

  • Copertura delle Linee: 33.02% → 34.08% (+1.06%)
  • Aggiunte chiamate API di trasformazione PNG e test dei casi limite
  • +74 righe in pngread.c, +73 righe in pngtrans.c

Miglioramento 2 - Fuzzer di Scrittura (submit_improve2)

  • Creato un nuovo fuzzer per la codifica PNG (operazioni di scrittura)
  • Funzioni di scrittura: 0% → copertura 30-50%
  • +1,270 righe di codice precedentemente non testato coperte

confronto copertura2

Parte 4: Sfruttamento di CVE-2014-9495

Sfruttato con successo il buffer overflow heap in libpng v1.5.20:

  • Overflow di interi nell'elaborazione PNG interlacciato Adam7
  • La PoC attiva il rilevamento di AddressSanitizer
  • Script: part4/run.poc.sh

Risultati Raggiunti

  • Impatto del seed corpus: +17% di miglioramento della copertura
  • Fuzzer personalizzati: 2 nuove varianti (fuzzer di lettura potenziato + fuzzer di scrittura)
  • Nuova copertura: +1,270 righe di codice precedentemente non testato
  • Sfruttamento CVE: PoC riuscita per CVE-2014-9495

Struttura del Progetto

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

Avvio Rapido

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

Visualizza i report di copertura:

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

Membri del Gruppo

Questo progetto di ricerca sulla sicurezza è stato completato in collaborazione da:

  • Mahdi Atallah
  • Rassene M'Sadaa
  • Yannik Krone
  • Yonathan Lanzmann
Scarica lo strumento
MetricaCON CorpusSENZA CorpusMiglioramento
Copertura delle Linee41.83%24.76%+17.07%
Copertura dei Rami35.49%21.03%+14.46%
Copertura delle Funzioni50.75%34.75%+16.00%