문제 zip파일을 열기위해서는 암호가 필요하다고 합니다.
010 editor로 문제 zip파일을 분석하면 local header가 3개 central header가 3개 있으므로 3개의 파일이 zip파일 형식으로 압축되어 있는 것을 알 수 있습니다. 주의깊게 봐야할 곳이 central header의 flag 영역을 보면 09 08 으로 설정되어 있습니다. 이진수로 00001001 00001000 이고 바이트안에서 8비트는 리틀엔디안 방식으로 실질적으로 각 비트에 대응하는 설정값은 다음과 같습니다.
1001000000010000
설정된 비트 인덱스는 0,3,11으로 아래 플래그 bit 정의를 보면 0은 암호화된 파일을 의미하므로 해당 플래그를 수정하겠다.
Flags
Bit 00 -> 암호화된 파일
Bit 01 -> 압축 옵션
Bit 02 -> 압축 옵션
Bit 03 -> 데이터 기술자(data discriptor)
Bit 04 -> 강화된 디플레이션
Bit 05 -> 압축된 패치 데이터
Bit 06 -> 강력한 암호화
Bit 07-10 -> 사용하지 않음
Bit 11 -> 언어 인코딩
Bit 12 -> 예약
Bit 13 -> 헤더값을 마스크
Bit 14-15 -> 예약
bit를 0으로 수정하고 다시 압축을 풀면 패스워드 없이 압축이 풀리고 플래그를 획득할 수 있다.
'Forensic' 카테고리의 다른 글
[HackCTF] 나는 해귀다 (0) | 2021.09.15 |
---|---|
[HackCTF] 세상에서 잊혀진 날 찾아줘! (0) | 2021.09.15 |
[HackCTF] So easy? (0) | 2021.09.12 |
[Square CTF] Needle in the haystack (0) | 2021.09.03 |
[Square CTF] Reading between the lines (0) | 2021.09.02 |
댓글