Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
NotEnough — このツールは、CVE-2023-4863用の巧妙な正準ハフマンヒストグラムを計算します。 | Kitploit
ツール/GitHubGitHub/caoweiquan322/notenough
メモリフォレンジック脆弱性分析エクスプロイトリバースエンジニアリングファジングバイナリエクスプロイト
GitHubcaoweiquan322/notenough

NotEnough

このツールは、CVE-2023-4863用の巧妙な正準ハフマンヒストグラムを計算します。

リポジトリを見る
2532年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

Huffman table hacking tool

このツールは、脆弱性のあるlibwebpライブラリ(すなわちlibwebp <= 1.3.1)に対してOOB(Out Of Band)書き込みを引き起こすことができる巧妙な正準ハフマンヒストグラムを計算します。この脆弱性はCVE-2023-4863またはCVE-2023-41064として知られています。事前に割り当てられたハフマンテーブルを最大132エントリ分オーバーフローさせることができます。

その根拠は、libwebpが各webp画像に含まれるハフマンヒストグラムが適切にフォーマットされていると仮定していることです。すなわち、復号ツリーは完全なツリーでなければなりません。この仮定に基づき、libwebpグループはenoughツールを利用して、復号ハフマンテーブル(正準ハフマンコードを高速に復号するための強力な構造)を構築するための最大メモリサイズを見積もりました。しかし、ハッカーは不完全なツリーを構築してこのメモリ制限を超え、事前に割り当てられたメモリをオーバーフローさせることができます。

このハッキングツールは、enoughを不完全なツリーに対応するよう調整して作成されました。

以下のコマンドでコードをコンパイルします:

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

40シンボル、8ビットのルートテーブル、最大深さ15のハフマンテーブルの場合、テーブルエントリの最大数は410です。しかし、不完全なツリーを構築することで、テーブルエントリの数は542になり得ます。以下のコマンドを試してください:

root@kitploit:~
./NotEnough 40 8 15

そのようなツリーの例を以下に示します:

Bad tree

簡潔にするため、葉のない枝は剪定していることに注意してください。

その後、craftツールを使用して、dwebpツール(バージョン <= 1.3.1)をオーバーフローさせる効果的なwebp画像を構築できます。ハフマンコードヒストグラム**code_lengths_counts[4]**を {0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 5, 9, 17, 1, 1, 3} に変更し、ツールを再ビルドしてください:

root@kitploit:~
vim craft.c    # Change huffman code histogram accordingly, i.e. about line 495.
gcc -o craft craft.c
./craft -o bad_542.webp

CVE-2023-4863についてより詳しく知るには、@benhawkes's blogを確認してください。

ツールをダウンロード