티스토리 뷰

CTF/Forensic

[AmateuresCTF 2023] Zipper

youung 2023. 7. 25. 00:53
728x90
반응형

 

문제 정보

문제 파일은 flag.zip 파일이 1개 주어진다.

 

 

 

 

exiftool flag.zip

먼저 exiftool로 파일을 확인해 보았다.

comment를 보면 flag의 part 1과 Part 3를 찾을 수 있다!

 

< flag - part 1 >

amateursCTF{z1PP3d_

 

< flag - part 3>

laY3r_0f

 

 

 

 

zipinfo flag.zip

zipinfo로 zip 파일을 확인해 보았다.

"flag/" 디렉토리와 "flag/flag201.txt" 파일이 각각 2개씩 존재했다.

 

2개의 flag/ 디렉토리의 bytes를 보면, 1개는 0바이트, 1개는 17바이트가 존재한다.

그렇다면 1개의 디렉토리에 flag가 있지 않을까? 

 

 

그렇다면 flag/flag201.txt도 2개 존재하므로 둘 중 1개의 파일에 flag가 존재할 것 같다!

 

 

 

 

 

unzip -n flag.zip

unzip 명령어로 -n 옵션을 주어 압축을 해제했다.

-n 명령어는 같은 이름의 파일이 존재할 시 덮어쓰지 않는 옵션이다.

 

 

 

 

 

같은 이름이었던 flag/flag201.txt 파일을 strings 명령어로 확인해 보았다.

flag의 Part 4를 찾을 수 있었다!!!

 

< flag - part 4 >

_Zips}

 

 

 

 

unzip으로 -n 명령어를 주고 압축 해제를 했을 때,

디렉토리는 덮어쓰기로 압축 해제가 되었다...

모든 파일의 이름을 순차적으로 적용하는 코드를 작성해서 압축을 해제해야 할 것 같다!

 

 

 

 

import zipfile
z = zipfile.ZipFile('flag.zip')
for i, f in enumerate(z.filelist):
    f.filename = 'flag{0:03}.txt'.format(i)
    z.extract(f)

새로운 디렉토리 unzip_flag를 만들어주고

그 안에서 위 코드를 실행했더니

위와 같이 순차적으로 이름이 부여된 파일이 생성되었다.

 

 

 

 

 

strings 명령어로 grep을 이용해 Part 2의 flag를 찾아준다!

 

< flag - part 2 >

in5id3_4_

 

 

 

 

 

FLAG

amateursCTF{z1PP3d_in5id3_4_laY3r_0f_Zips}

 

 

728x90
반응형

'CTF > Forensic' 카테고리의 다른 글

[UrmiaCTF 2023] Dorna  (0) 2023.09.04
[TFC CTF 2023] SOME TRAFFIC  (0) 2023.07.30
[BDSecCTF 2023] Find Values  (0) 2023.07.22
[BDSecCTF 2023] SYSTEM CHECK  (0) 2023.07.21
[n00bzCTF 2023] Crack&Crack  (0) 2023.06.11
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함