ssongk
ssongk
ssongk
전체 방문자
오늘
어제

공지사항

  • resources
  • 분류 전체보기 (627)
    • CTF (24)
    • background (79)
      • fuzzing (5)
      • linux (29)
      • linux kernel (15)
      • windows (2)
      • web assembly (1)
      • embedded (0)
      • web (13)
      • crypto (9)
      • mobile (1)
      • AI (1)
      • etc.. (3)
    • write-up(pwn) (171)
      • dreamhack (102)
      • pwn.college (4)
      • pwnable.xyz (51)
      • pwnable.tw (3)
      • pwnable.kr (5)
      • G04T (6)
    • write-up(rev) (32)
      • dreamhack (24)
      • reversing.kr (8)
    • write-up(web) (195)
      • dreamhack (63)
      • LOS (40)
      • webhacking.kr (69)
      • websec.fr (3)
      • wargame.kr (6)
      • webgoat (1)
      • G04T (7)
      • suninatas (6)
    • write-up(crypto) (19)
      • dreamhack (16)
      • G04T (1)
      • suninatas (2)
    • write-up(forensic) (53)
      • dreamhack (5)
      • ctf-d (47)
      • suninatas (1)
    • write-up(misc) (14)
      • dreamhack (13)
      • suninatas (1)
    • development (31)
      • Linux (14)
      • Java (13)
      • Python (1)
      • C (2)
      • TroubleShooting (1)
    • 자격증 (8)
    • 이산수학 (1)
    • 정보보안 (0)
hELLO · Designed By 정상우.
ssongk

ssongk

[ctf-d] 천 마디 말보다 사진 한 장… write-up
write-up(forensic)/ctf-d

[ctf-d] 천 마디 말보다 사진 한 장… write-up

2023. 2. 8. 15:13

ubuntu 22.04 환경에서 풀이를 진행하였습니다.

 


 

 

압축 파일을 풀어보면 1000개의 파일이 나옵니다.

이 중에서 JPEG 파일을 찾아줘야 하는 문제입니다.

 

리눅스를 활용해서 풀 수 있습니다.

file, awk, uniq 명령어를 사용해서 JPEG 파일을 찾아줍니다.

 

먼저 file 명령어를 사용하게 되면 2번째 필드에 파일 유형이 나오게 됩니다.

$ file ./0D3YWtDa68xjY3Oz
./0D3YWtDa68xjY3Oz: ASCII text, with very long lines (3376)

 

awk를 사용해서 2번째 필드의 값만 뽑아낼 수 있습니다.

$ file ./0D3YWtDa68xjY3Oz | awk '{print $2}'
ASCII

 

file 명령어의 인자로 * 문자를 사용해 폴더 내 전체 파일을 검사할 수 있습니다.

또한 uniq 명령어의 -c 옵션으로 같은 파일유형을 카운트 할 수 있습니다.

$ file * | awk '{print $2}' | uniq -c
    403 ASCII
      1 MGR
     86 ASCII
      1 JPEG
    171 ASCII
      1 Arhangel
     59 ASCII
      1 Clarion
     57 ASCII
      1 MGR
    219 ASCII

 

좀 더 깔끔하게 출력하고 싶다면

sort 명령어로 awk의 결과를 정렬한 뒤 카운트 해주면 됩니다.

$ file * | awk '{print $2}' | sort | uniq -c
    995 ASCII
      1 Arhangel
      1 Clarion
      1 JPEG
      2 MGR

 

JPEG인 파일은 1개입니다.

해당 파일을 찾기 위해 특정 문자열을 찾아낼 수 있는 grep 명령을 사용합니다.

$ file * | grep 'JPEG'
UgeVjTlmZjNFvULk: JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 266x71, components 3

 

해당 파일의 확장자를 JPEG으로 바꿔주고 열어보면

 

플래그를 얻을 수 있습니다.

'write-up(forensic) > ctf-d' 카테고리의 다른 글

[ctf-d] 내 친구 Mich는 이 멋진 튤립… write-up  (0) 2023.02.09
[ctf-d] 저는 이 파일이 내 친구와… write-up  (0) 2023.02.08
[ctf-d] Wota write-up  (0) 2023.02.08
[ctf-d] 호레이쇼가 플래그를 보며… write-up  (0) 2023.02.08
[ctf-d] 원래 의미가 없는 것들도… write-up  (0) 2023.02.07
    'write-up(forensic)/ctf-d' 카테고리의 다른 글
    • [ctf-d] 내 친구 Mich는 이 멋진 튤립… write-up
    • [ctf-d] 저는 이 파일이 내 친구와… write-up
    • [ctf-d] Wota write-up
    • [ctf-d] 호레이쇼가 플래그를 보며… write-up
    ssongk
    ssongk
    벌레 사냥꾼이 되고 싶어요

    티스토리툴바