CVE-2016-9297The TIFFFetchNormalTag function in LibTiff 4.0.6 allows remote attackers to cause a denial of service (out-of-bounds read) via crafted TIFF_SETGET_C16ASCII or TIFF_SETGET_C32_ASCII tag values.해석하자면 LibTiff 4.0.6의 TIFFFetchNormalTag 함수에서 발생하는 취약점으로 out-of-bound read 가 발생한다. 빌드를 해보자. 우선 LibTIFF 를 설치한다.wget https://github.com/vadz/libtiff/archive/refs/tags/Release-v4-0-6.tar.gztar -zxv..
2024년 4월 27일에 열린 핵테온 예선전에 참가하였다. 이번 대회는 고급과 초급으로 나뉘어서 진행되었는데 문제는 같지만 배점을 다르게 하고 고급에서 20팀, 초급에서 20팀 해서 본선에 40팀이 올라가게 된다. 아쉽게도 예선 탈락을 했다.. 문제 카테고리는 포너블, 웹, 리버싱, 포렌식, 트렌드 가 나왔다. 포너블은 3문제가 나왔으며 작년에 비해 난이도가 꽤 어려웠다. 아쉬운데로 유일하게 풀었던 Intelitigation 문제 라업을 적어볼까 한다.해당 문제는 제공파일은 주어지지 않았으며 서버로 접속만 가능했다. 접속을 하면 base 64 로 인코딩 된 문자열이 출력됬는데 이를 디코딩 하면 해당 문제의 바이너리를 얻을 수 있다.바이너리는 다음과 같다. 뭐 별거 없다. 그냥 buffer overfl..
사실 이전 블로그에 이미 등장했지만 어쩌다보니 순서가 이렇게 되었다.공격조건임의의 주소 참조 가능, 혹은 임의의 주소에 fake chunk 만들기 가능, 2.34 부터 hook 없어짐 __malloc_hook overwrite란?__libc_malloc에는 hook 함수 포인터가 존재하는데 이는 malloc함수가 시작할 때 실행할 함수의 주소를 가진다. 일반적으로는 null이며 인자값으로는 malloc함수의 인자값을 그대로 사용한다. 그래서 이것을 one_gadget으로 overwrite하고 malloc을 호출하거나 hook을 system함수로 overwrite 하고 malloc(”/bin/sh”의 주소)를 실행하면 셸을 획득할 수 있다.free에도 free_hook이 존재하기 때문에 똑같이 적용할 수 ..
공격조건2.27에서는 가능, heap overflow 발생 Heap Feng Shui란?힙의 레이아웃을 조작하여 원하는 객체를 덮어쓸 수 있게 하는 기법이다.중요한 점은 tcache에서는 size검증을 안해서 heap overflow를 통해 free된 tcache chunk의 fd(next)를 아무 주소로 overwrite하면 그 주소를 chunk로 할당 가능하다.별다른 특징이 없는 기법이다. 예제// gcc -o fengshui1 fengshui1.c -no-pie #include #include #include int add();int del();int edit();int show();char *ptr[20];int ptr_size[20];int heap_idx = 0;int main(){ int i..
ASANAddressSanitizer는 Google이 개발한 도구로 사용 후 오류 및 메모리 누출과 같은 메모리 엑세스 오류를 탐지한다. GCC 버전 >= 4.8 에 내장되어 있으며 C, C++에서 모두 사용할 수 있다.Address Sanitizer는 런타임 계측기를 사용하여 메모리 할당을 추적하므로 해당 기능을 사용하려면 Address Sanitizer로 코드를 구축해야한다.이 tool은 아래와 같은 오류를 탐지할 수 있다.- Use after free (dangling pointer dereference)- Heap buffer overflow- Stack buffer overflow- Global buffer overflow- Use after return : 이미 반환된 함수의 매개변수를 사용하..
CVE-2017-13028 The BOOTP parser in tcpdump before 4.9.2 has a buffer over-read in print-bootp.c:bootp_print(). 4.9.1 까지 버전에서 발생한 tcpdump의 BOOTP parser의 buffer over-read 취약점이다. 우선 target이 될 tcpdump를 설치한다. wget https://github.com/the-tcpdump-group/tcpdump/archive/refs/tags/tcpdump-4.8.1.tar.gz tar -zxvf tcpdump-4.8.1.tar.gz 그리고 libpcap도 설치한다. 이는 TCPdump에 빌요한 cross-platform library이다. wget https://..
CVE-2012-2836 Description The exif_data_load_data function in exif-data.c in the EXIF Tag Parsing Library (aka libexif) before 0.6.21 allows remote attackers to cause a denial of service (out-of-bounds read) or possibly obtain sensitive information from process memory via crafted EXIF tags in an image. 해석하면 exif-data.c의 exif_data_load_data에서 발생하는 취약점으로 0.6.21 이전 버전의 EXIF Tag Parsing Library에서 발생..
CVE-2009-3895 Description Heap-based buffer overflow in the exif_entry_fix function (aka the tag fixup routine) in libexif/exif-entry.c in libexif 0.6.18 allows remote attackers to cause a denial of service or possibly execute arbitrary code via an invalid EXIF image. NOTE: some of these details are obtained from third party information. libexif 0.6.18의 libexif/exif-entry.c 에 있는 exif_entry_fix 함..