cat.jpg

사진을 다운로드하니 그냥 평범하고 귀여운... 고양이 사진이다

사진을 육안으로 보아서는 플래그를 찾을 수 없을 것 같아서, HxD로 열어 본다.

 

jpg 파일이라 바로 이전 문제인 linefeed.png 파일과는 구조가 확연히 다름.

jpg 파일 구조도 분석해 본다. 

 

<JPG(JPEG) 파일 구조>

  • SOI (Start Of Image)
    • 흔히 말하는 헤더 시그니처
    • FF D8
  • APPn JFIF Marker
    • APP0~APP15까지 올 수 있으며 썸네일 데이터가 들어감 
    • FFE0~FFEF
  • DQT (Define Quantization Tables)
    • 양자화 테이블을 정의하는 데 압축 위해 사용
    • FF DB
  • SOF (Start Of Frame)
    • 이미지 크기(높이, 너비) 정의
    • FFC0~FFC2
  • DHT (Define Huffman Tables)
    • FF C4
  • SOS (Start Of Scan)
    • FF DA
  • Scan Data
  • EOI (End Of Image)
    • 흔히 말하는 푸터 시그니처
    • FF D9

출처 : https://m.blog.naver.com/ginger2009/222040985394

 

[Forensics] 포렌식 관점에서 JPEG 구조 분석

CTF 문제를 풀다 보면 스테가노그래피 문제가 상당하다. 확장자 별로 구조와 파일을 숨길 수 있는 공간...

blog.naver.com

 

 

SOI 값.

 

EOI 값.

원래는 EOI, 즉 푸터 시그니처로 파일 구조가 끝나야 하는데, 푸터 시그니처 이후에도 3줄이나 데이터가 있다.

 

포렌식적 관점에서, 각 구조 사이사이에 데이터를 숨겨도 이미지에 영향을 주지 않기 때문에 원래 이 사이에 데이터를 숨기는 일이 자주 있다고 함.

그래서 EOI 이후에 나온 데이터값도 누군가가 숨긴 데이터일 확률이 높음. 

해당 16진수를 ASCII 코드 값으로 변환하여 데이터를 추출해 본다. 

 

... 이게 아닌가?

이 값 말고 변환 후 값(=HxD의 Decoded text)을 넣어서 다시 변환.

 

플래그 획득 성공!

 

+ Recent posts