[HackCTF/Forensic] 7번 Magic PNG 풀이

2019. 8. 1. 01:25문제풀이/ctf.j0n9hyun.xyz

파일 다운로드 후 압축을 풀어보면 아래와 같은 사진이 나온다.

ㅎㅎ

 

tmi)파일 살펴보다가 이 파일이 올해 6월 27일에 만들어진걸 알았다. 한달밖에 안됐다니 따끈따끈!

 

일단 HxD로 열어서 헤더와 푸터를 살펴보았다.

푸터는 맞는데, 헤더가 진짜 사소하게 달랐다.

먼저, 원래 PNG 파일의 시그니쳐는 다음과 같다. (출처)

 

 

그리고 문제파일의 헤더는 다음과 같다.

 

 

89 50 4E 47은 맞는데 0D 0A 1A 0A가 아닌 2E 0A 2E 0A.

그래서 일단 이 부분을 올바른 헤더로 수정해주었더니 다음과 같은 파일이 되었다.

흠 왜 깨질까..ㅠㅠ

 

 

일단 PNG 파일 구조를 찾아 본 결과, PNG의 파일 구조는 크게 IHDR, PLTE, IDAT, IEND라는 중요청크(필수)와 보조청크들로 이루어진다.

IHDR, PLTE, IDAT, IEND 중 아무래도 파일이 저렇게 깨지면 이미지 데이터에 문제가 있을 것 같아서 IDAT를 살펴보기로 했다.

물론 IDAT 부분도 되게 많지만.. 일단 IDAT로 검색해보았다.

 

하나하나 찾아 보려고 했는데, 다행히도 한번에 이상한 친구를 찾아냈다.

10008번째 친구는 IDAT이 아니라 소문자로, idat라 적혀있는것!

저 부분의 헥스코드를 49 44 41 54로 바꾸면 다음과 같은 이미지가 나온다.

룰루였넹

HackCTF{c@n_y0u_$ee_m3?}