[CTF] png 파일 속에 숨은 jpg 파일 찾기
이전 게시물에서 만든 hidencat.png 파일 속에 숨은 cat.jpg파일을 찾는 법을 알아보자. 아래 첨부한 파일을 다운로드하여 과정을 따라갈 수 있다.
Hex Editor로 png파일을 열어보자. 필자는 UltraHex를 사용했다.
먼저 푸터 시그니처를 살펴본다.
jpg파일의 푸터 시그니처인 FF D9가 들어있다. 이것으로 png파일 안에 jpg파일이 숨어 있음을 유추할 수 있다. 여기서 jpg파일을 꺼내는 과정은 다음과 같다. 순서대로 따라가보자.
jpg 파일을 꺼내는 과정
1. 숨은 파일(jpg)의 헤더 시그니처 탐색
2. 헤더 시그니처~푸터 시그니처 부분을 잘라냄
3. 새 창에 붙여넣고 저장
1. 숨은 파일(jpg)의 헤더 시그니처 탐색
jpg의 헤더 시그니처는 FF D8 FF ~ 꼴이다. Hex Editor 검색 기능을 이용하여 헤더 시그니처의 위치를 찾는다. (검색창은 Hex Editor마다 생김새에 차이가 있지만, 사용 방법은 비슷하다.)
2. 헤더 시그니처~푸터 시그니처 부분을 잘라냄
검색한 Hex값이 존재한다면 해당 값이 있는 위치로 이동한다. 헤더 시그니처부터 푸터 시그니처까지의 부분을 모두 드래그하고, 우클릭하여 잘라낸다.
3. 새 창에 붙여넣고 저장
열기를 눌러 새 창을 열고 클립보드를 붙여넣는다. 다른 이름으로 저장을 누른 뒤 jpg로 저장한다. 이후 새로 저장한 파일을 열면 숨어있던 jpg파일을 볼 수 있다.