[CTF]

[CTF] png 파일 속에 숨은 jpg 파일 찾기

준제 2023. 10. 1. 17:57

이전 게시물에서 만든 hidencat.png 파일 속에 숨은 cat.jpg파일을 찾는 법을 알아보자. 아래 첨부한 파일을 다운로드하여 과정을 따라갈 수 있다.

hiddencat.png

 


 

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파일을 볼 수 있다.

새 창에 붙여넣고 저장

 

숨어있던 jpg 이미지. (WhatIsInMyBox.jpg)