들어가며 GIMP라는 이미지에디터를 퍼징한다. GIMP 2.8.16에서 발생하는 CVE-2016-4994을 분석한다. 그리고 발견한 크래시에서 코드 커버리지를 분석한다. CVE-2017-9048은 Use-After-Free 취약점이다. 동적할당된 heap을 free하고 다시 재사용할 때 취약점이 발생한다. GIMP에서는 조작된 XCF 파일에서 발생한다. 공격자는 유효한 데이터의 손상에서 임의 코드 실행까지 다양한 악의적인 행위를 할 수 있다. 준비 1-day 실습이므로 취약점이 발생했던 같은 환경을 준비한다. 또는 다음의 내용을 학습할 수 있다. Ubuntu 20.04(https://releases.ubuntu.com/20.04/) afl-fuzz(Fuzzer) GDB(크래시 분석 디버깅 도구) 다음의 ..
들어가며 LibXML2라는 XML파싱 라이브러리를 퍼징한다. LibXML2 2.9.4에서 발생하는 CVE-2017-9048을 분석한다. 그리고 발견한 크래시에서 코드 커버리지를 분석한다. CVE-2017-9048은 스택버퍼오버플로우 취약점이다. 실행중인 스택영역의 값을 덮어씌울 수 있으며, DTD 유효성 검사 함수에서 발생한다. 공격자는 바이너리의 컨텍스트 내에서 임의 코드를 실행할 수 있다. 준비 1-day 실습이므로 취약점이 발생했던 같은 환경을 준비한다. 또는 다음의 내용을 학습할 수 있다. Ubuntu 20.04(https://releases.ubuntu.com/20.04/) afl-fuzz(Fuzzer) GDB(크래시 분석 디버깅 도구) 다음의 내용을 학습한다. 새로운 실행 경로 탐색을 위한 커..
들어가며 웹 모의해킹, 취약점진단 실무를 하면서 다양한 구조로 개발된 웹 페이지들을 대상으로 한다. 그 중 가장 쉬운 공격이면서 크리티컬한 취약점 중 하나인 SQL Injection에 대해서 설명하고 정리한다. 공격을 위해서는 내가 삽입한 코드의 동작 원리를 이해하고 백엔드에서 어떻게 실행되는지 이해한 후에 다음 단계의 공격을 해야 한다. 모의해킹 직무 면접의 단골 질문이면서 필드에서 가장 크리티컬하게 만날 수 있는 취약점이다. 원리부터 대응방안까지 하나씩 살펴보자. SQL(Structured Query Language)? 왜 개발자들은 SQL을 사용할까? 웹 사이트를 운영하기 위해서는 많은 데이터의 관리가 필요하다. 쇼핑몰을 예로 들면 이용자의 회원정보, 물건의 판매정보, 상품 문의 게시글 등 시간이 ..
들어가며 LibTIFF라는 이미지 라이브러리를 퍼징한다. LiBTIFF 4.0.4에서 발생하는 CVE-2016-9297을 분석한다. 그리고 발견한 크래시에서 코드 커버리지를 분석한다. CVE-2016-9297는 OOB(Out-of-bounds) 취약점이다. 버퍼 범위 바깥의 인덱스에 접근할 때 발생하며, 조작된 TIFF_SETGET_C16ASCII 와 TIFF_SETGET_C32_ASCII 태그 값에서 발생한다. 공격자는 서비스 거부를 발생시키거나 프로세스 메모리에서 의도하지 않은 중요 정보를 탈취할 수 있다. 준비 1-day 실습이므로 취약점이 발생했던 같은 환경을 준비한다. 또는 다음의 내용을 학습할 수 있다. Ubuntu 20.04(https://releases.ubuntu.com/20.04/) a..
들어가며 TCPdump는 패킷 분석 도구이다. TCPdump 4.9.2에서 발생하는 CVE-2017-13028을 분석한다. CVE-2017-13028는 OOB(Out-of-bounds) 취약점이다. 버퍼 범위 바깥의 인덱스에 접근할 때 발생하며, BOOTP 패킷(Bootstrap Protocol)에서 발생한다. 공격자는 서비스 거부를 발생시키거나 프로세스 메모리에서 의도하지 않은 중요 정보를 탈취할 수 있다. 준비 1-day 실습이므로 취약점이 발생했던 같은 환경을 준비한다. 또는 다음의 내용을 학습할 수 있다. Ubuntu 20.04(https://releases.ubuntu.com/20.04/) afl-fuzz(Fuzzer) GDB(크래시 분석 디버깅 도구) 다음의 내용을 학습한다. ASAN(Addr..
들어가며 libexif는 exif을 파싱하는 라이브러리이다. libexif 0.6.14 에서 발생하는 CVE-2009-3895, CVE-2012-2836을 분석한다. CVE-2009-3895는 올바르지 않은 EXIF 이미지에서 발생하는 힙 버퍼 오버플로우 취약점이다. 힙 데이터 영역에서 발생하는 버퍼 오버플로우의 한 종류이며, 동적 메모리 할당(alloc)과 해제(free)와 관련있다. 공격자는 공격 포인트를 이용하여 응용프로그램이 실행될 때 임의 코드를 삽입하여 실행시킬 수 있다. CVE-2012-2836는 조작된 EXIF 태그가 있는 이미지를 통해 발생할 수 있는 OOB(Out of Bounds Read) 취약점이다. OOB는 프로그램이 의도한 버퍼의 끝을 지나거나 시작 전의 데이터를 읽을 때 발생하..