Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
NotEnough — 이 도구는 CVE-2023-4863에 대한 까다로운 정규 허프만 히스토그램을 계산합니다. | Kitploit
도구/GitHubGitHub/caoweiquan322/notenough
Memory ForensicsVulnerability AnalysisExploitationReverse EngineeringFuzzingBinary Exploitation
GitHubcaoweiquan322/notenough

NotEnough

이 도구는 CVE-2023-4863에 대한 까다로운 정규 허프만 히스토그램을 계산합니다.

저장소 보기
25322년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

허프만 테이블 해킹 도구

이 도구는 취약한 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

이러한 트리의 예는 다음과 같습니다:

나쁜 트리

간결함을 위해 잎이 없는 가지는 제거했습니다.

그런 다음 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    # 그에 따라 허프만 코드 히스토그램 변경 (약 495번째 줄)
gcc -o craft craft.c
./craft -o bad_542.webp

CVE-2023-4863에 대한 더 나은 이해를 위해 @benhawkes의 블로그를 확인하세요.

도구 다운로드