Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
NotEnough — Dieses Tool berechnet das knifflige kanonische Huffman-Histogramm für CVE-2023-4863. | Kitploit
Tools/GitHubGitHub/caoweiquan322/notenough
SpeicherforensikSchwachstellenanalyseExploitationReverse EngineeringFuzzingBinary-Exploitation
GitHubcaoweiquan322/notenough

NotEnough

Dieses Tool berechnet das knifflige kanonische Huffman-Histogramm für CVE-2023-4863.

Repository anzeigen
253vor 2 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Tool zum Hacken von Huffman-Tabellen

Dieses Tool berechnet knifflige kanonische Huffman-Histogramme, die in der Lage sind, einen OOB-Schreibzugriff (Out Of Band) für die verwundbare libwebp-Bibliothek (d.h. libwebp <= 1.3.1) auszulösen. Diese Schwachstelle ist bekannt als CVE-2023-4863 oder CVE-2023-41064. Wir können die vorab zugewiesene Huffman-Tabelle um maximal 132 Einträge überlaufen lassen.

Die Begründung ist, dass libwebp annimmt, dass das in jedem Webp-Bild enthaltene Huffman-Histogramm wohlgeformt ist. Das heißt, der Dekodierungsbaum muss ein vollständiger Baum sein. Mit dieser Annahme nutzte die libwebp-Gruppe ein enough-Tool, um die maximale Speichergröße zum Aufbau der dekodierenden Huffman-Tabelle (eine leistungsfähige Struktur zum schnellen Dekodieren kanonischer Huffman-Codes) abzuschätzen. Allerdings sind Hacker in der Lage, einen unvollständigen Baum zu konstruieren, der über diese Speichergrenze hinausgeht und somit den vorab zugewiesenen Speicher überläuft.

Dieses Hacking-Tool wurde durch Anpassung von enough mit Unterstützung für unvollständige Bäume erstellt.

Kompilieren Sie den Code mit dem folgenden Befehl:

root@kitploit:~
gcc -o NotEnough ./main.c

Für eine Huffman-Tabelle mit 40 Symbolen, einer 8-Bit-Wurzeltabelle und einer maximalen Tiefe von 15 beträgt die maximale Anzahl von Tabelleneinträgen 410. Durch die Konstruktion eines unvollständigen Baums könnte die Anzahl der Tabelleneinträge jedoch 542 betragen. Versuchen Sie den folgenden Befehl:

root@kitploit:~
./NotEnough 40 8 15

Ein Beispiel für einen solcher Baum ist unten dargestellt:

Bad tree

Beachten Sie, dass wir der Kürze halber die Zweige ohne Blätter beschnitten haben.

Sie können dann das craft-Tool verwenden, um ein effektives Webp-Bild zu konstruieren, um das dwebp-Tool (Version <= 1.3.1) überlaufen zu lassen. Ändern Sie das Huffman-Code-Histogramm code_lengths_counts[4] entsprechend auf {0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 5, 9, 17, 1, 1, 3} und bauen Sie das Tool neu auf:

root@kitploit:~
vim craft.c    # Ändern Sie das Huffman-Code-Histogramm entsprechend, z. B. etwa Zeile 495.
gcc -o craft craft.c
./craft -o bad_542.webp

Bitte sehen Sie sich @benhawkes's Blog an, um ein besseres Verständnis von CVE-2023-4863 zu erhalten.

Tool herunterladen