Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Ferramentas/GitHubGitHub/caoweiquan322/notenough
Forensia de MemóriaAnálise de VulnerabilidadesExploraçãoEngenharia ReversaFuzzingExploração de Binários
GitHubcaoweiquan322/notenough

NotEnough

Esta ferramenta calcula o complexo histograma Huffman canônico para CVE-2023-4863.

Ver Repositório
2532há 2 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Ferramenta de hackeamento de tabela Huffman

Esta ferramenta calcula um histograma Huffman canônico complicado, capaz de acionar uma escrita fora dos limites (OOB) na biblioteca libwebp vulnerável (ou seja, libwebp <= 1.3.1). Esta vulnerabilidade é conhecida como CVE-2023-4863 ou CVE-2023-41064. Podemos transbordar a tabela Huffman pré-alocada em no máximo 132 entradas.

A lógica é que a libwebp assume que o histograma Huffman contido em cada imagem webp está bem formatado. Isto é, a árvore de decodificação deve ser uma árvore completa. Com essa suposição, o grupo libwebp aproveitou a ferramenta enough para estimar o tamanho máximo de memória necessário para construir a tabela Huffman de decodificação (uma estrutura poderosa para decodificar códigos Huffman canônicos rapidamente). No entanto, hackers conseguem construir uma árvore incompleta para ultrapassar esse limite de memória e, assim, transbordar a memória pré-alocada.

Esta ferramenta de hackeamento foi criada ajustando a ferramenta enough com suporte a árvores incompletas.

Compile o código usando o comando abaixo:

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

Para uma tabela Huffman com 40 símbolos, tabela raiz de 8 bits e profundidade máxima de 15, o número máximo de entradas da tabela é 410. No entanto, ao construir uma árvore incompleta, o número de entradas da tabela pode chegar a 542. Execute o comando abaixo:

root@kitploit:~
./NotEnough 40 8 15

Um exemplo dessas árvores é mostrado abaixo:

Bad tree

Observe que podamos os ramos sem folhas por brevidade.

Em seguida, você pode usar a ferramenta craft para construir uma imagem webp eficaz e transbordar a ferramenta dwebp (versão <= 1.3.1). Altere o histograma do código Huffman code_lengths_counts[4] para {0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 5, 9, 17, 1, 1, 3} conforme necessário e reconstrua a ferramenta:

root@kitploit:~
vim craft.c    # Altere o histograma do código Huffman conforme necessário, ou seja, cerca da linha 495.
gcc -o craft craft.c
./craft -o bad_542.webp

Por favor, consulte o blog do @benhawkes para entender melhor o CVE-2023-4863.

Baixar ferramenta