
이 리포지토리는 glibc의 iconv() 함수에 있는 버퍼 오버플로우 취약점인 CVE-2024-2961을 테스트하기 위한 C 프로그램을 포함하고 있습니다.
이 저장소는 GNU C 라이브러리(glibc)의 iconv() 함수에 있는 버퍼 오버플로우 취약점인 CVE-2024-2961을 테스트하기 위한 C 프로그램을 포함합니다. PHP 힙의 구조로 인해 이 오버플로우를 악용하여 해제 목록 포인터의 일부를 수정할 수 있으며, 궁극적으로 프로그램 메모리 내에서 임의 쓰기 기본 요소를 제공합니다. 결과적으로 파일 읽기 취약점과 통제된 접두사를 가진 공격자는 PHP 애플리케이션에서 RCE를 달성할 수 있습니다. 마찬가지로, PHP가 통제된 매개변수로 iconv()를 호출하도록 강제하면 공격자에게 동일한 기능이 부여됩니다.
iconv 라이브러리 설치.시스템에 glibc 버전 2.39 이하가 있는지 확인합니다.
ldd --version
이 저장소를 로컬 시스템에 복제합니다.
git clone https://github.com/exfil0/test_iconv.git
cd test_iconv
GCC를 사용하여 C 프로그램을 컴파일합니다.
gcc -o test_iconv test_iconv.c -liconv
컴파일된 프로그램을 실행합니다.
./test_iconv
gdb와 같은 디버깅 도구를 사용하여 충돌을 분석하고 취약점과 관련이 있는지 확인합니다.충돌이 발생하면 gdb를 사용하여 자세한 내용을 확인할 수 있습니다.
gdb ./test_iconv
GDB 내에서 프로그램을 실행합니다.
run
프로그램이 충돌하면 프로그램 상태를 검사할 수 있습니다.
bt
이렇게 하면 충돌의 역추적(backtrace)을 제공하여 오버플로우가 CVE로 인한 것인지 진단하는 데 도움이 됩니다.
AddressSanitizer를 사용하여 프로그램을 컴파일하여 오버플로우를 감지합니다.
gcc -fsanitize=address -o test_iconv test_iconv.c -liconv
./test_iconv
AddressSanitizer는 버퍼 오버플로우가 발생하면 자세한 정보를 제공합니다.
취약점이 확인되면 이 문제가 패치된 버전으로 glibc를 업데이트하는 것을 고려하십시오. GNU 프로젝트 웹사이트나 배포판의 패키지 관리자에서 최신 버전을 다운로드하여 설치할 수 있습니다.
이 취약점에 대한 자세한 내용은 다음 연구 기사를 읽을 수 있습니다. GLIBC Flaw CVE-2024-2961 Opens Door to RCE, PoC Exploit Published
이 코드는 교육 및 테스트 목적으로만 제공됩니다. 적절한 승인 없이 시스템에서 사용하지 마십시오.