ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [ctf-d]파일에서 이미지 파일을 찾아라!
    2021/Write-Ups 2022. 2. 15. 20:59

    4팀 임예은

     

    우선 문제를 보면 다음과 같이 gif를 다운받을 수 있게 되어있습니다. 파일을 다운받으면 사진 한 장이 나오는데, gif이지만 움직이지 않는 것으로 보아 확장자만 gif로 되어있음을 알 수 있습니다.

    들어있는 이미지.

     

    HxD로 파일을 열어보았습니다. 시그니처에는 별다른 문제가 없습니다. 

    하지만 여기서 문제의 이름을 떠올렸습니다. 파일에서 이미지 파일을 찾아라! 가 이 문제의 제목입니다. 그렇다면 이 파일 안에 이미지 파일이 숨겨져 있다고 의심해볼 수 있지 않을까요? 시험삼아 jpg 파일의 시그니처 헤더인 jfif를 검색해보았습니다.

    역시나 또 다른 사진 파일이 숨겨져 있었습니다. 그런데 jpg 파일 헤더 말고도 바로 위에 png 푸터 시그니처가 보입니다. 사진 파일이 하나만 숨겨져 있는것이 아니라는 것을 예상할 수 있습니다.

    따라서 검색으로 우선 jpg, png 헤더 시그니처를 찾은 뒤, 푸터 시그니처까지 복사하여 새 파일을 만들고 각각 확장자에 맞게 저장해서 숨겨진 이미지 파일들을 찾아냈습니다. 그 결과 각각 4개의 jpg, png 사진 파일을 발견할 수 있었습니다.

    하지만 이것만으로는 온전히 하나의 문장을 만들 수 없었습니다. jpg, png가 아닌 이미지 파일이 몇 개 더 숨겨져 있다는 것을 알 수 있습니다.

     

    우선 파일 확장자가 gif이기 때문에 gif 헤더 시그니처를 검색해보았습니다. 

    맨 위의 헤더 시그니처를 제외하고도 세 부분이 검색에 더 걸립니다. 이 부분도 헤더~푸터 시그니처까지 복사하여 새 gif 이미지 파일을 만들었습니다. 지금까지 만든 이미지 파일은 총 12개입니다.

    하지만 12개로도 중간중간에 빈 부분이 있어 플래그를 알 수 없었습니다. 더이상은 아무리 생각해도 유추할 수 없어서 라이트업을 참고했습니다. bmp 파일이 3개 더 숨어있다고 합니다.

    bmp 파일의 헤더 시그니처는 42 4D이며, 푸터 시그니처는 특별히 존재하지 않아 다른 헤더 시그니처가 나오기 전까지 쭉 복사하면 된다고 합니다. 해당 방식으로 3개의 이미지 파일을 더 만들었습니다. 만들어진 파일은 다음과 같습니다.

    중간에 번호를 헷갈려서 번호가 뒤죽박죽이다.

    위 사진 파일을 총 조합하면 드디어 플래그 값이 나옵니다...

    그대로 넣어주면 문제가 풀립니다.

     

    '2021 > Write-Ups' 카테고리의 다른 글

    [N0Named Wargame] Left Side B  (0) 2022.02.15
    [ctf-d] 저는 당신의 생각을 알고 있습니다.  (0) 2022.02.15
    [ctf-d] Find Key(butterfly)  (0) 2022.02.15
    [ctf-d] QR코드를 발견했지만…  (0) 2022.02.15
    [ctf-d] 플래그를 찾아라!  (0) 2022.02.15