본문 바로가기

디지털 포렌식

PNG 파일 헤더

CTF 문제들을 풀다 보면 가장 기본적으로 보이는 문제들이 바로 이미지 파일 헤더를 바꾸는 문제이다.

난이도는 쉬운편이며 파일 헤더만 검색하면 풀수 있기도 하다.

 

오늘 필자가 사용할 툴은 HxD이다.


일단 파일을 뜯어보기 위해 간단하게 이미지를 만들어보겠다.

이게 오늘 실습에 사용할 이미지이다.

 

먼저 HxD를 켜서 바로 이 PNG 파일을 올려보자.

전체 파일 구조
파일 헤더

지금 드래그하여 강조를 한 8바이트가 바로 PNG파일 헤더(시그니처)이다.

89 50 4E 47 0D 0A 1A 0A 무조건 PNG파일이라면 꼭 있어야한다.

만약 저 hex에서 1이라도 틀린다면 해당 파일은 열 수 없다.

그러면 실험을 위해 0D에서 0A로 바꿔보겠다.

Decoded text 부분에서는 이전과 마찬가지로 '.'으로 보이지만 저장한 후 열어보려한다면

이렇게 이미지가 깨진것을 볼 수 있다.

다시 0A를 0D로 고치면 정상적으로 이미지 파일이 열린다.