| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- git push -u
- sqld
- 블록(Block)
- dropna
- node.js
- pandas
- 루키즈
- SK쉴더스
- 지도학습
- OT후기
- 레이블인코딩
- echo 명령어
- 클래스
- List
- 패키지
- 꽉뚝짝 시장
- tunder client
- 보안공부
- 방콕
- gdgm
- 데이터분포
- Package
- 예외처리
- 태국
- 함수
- Linked List
- 루키즈33기
- 수업복습
- 생성형AI
- 성능평가지표
Archives
- Today
- Total
개발 블로그
[DreamHack] structure-based carving 본문
https://dreamhack.io/wargame/challenges/1216
로그인 | Dreamhack
dreamhack.io
주어진 소스 코드 파일을 HxD 편집기로 열었음.

파일 시스템을 알아보기 위해 00000000의 00~03을 확인함. 확인한 결과, PcmH라고 함. 이게 뭔지 몰라서 구글링함.
음.. 일단 뭔지는 모르겠어서 앞부분 조회는 패스함.

설명 부분에 힌트를 준걸 파악하고 ZIP 파일을 찾아야겠다~ 라는 방향으로 재정비함.
그러던 중, zip 압축 파일의 시그니처인 PK 를 확인함.
- ZIP 파일의 로컬 헤더 시그니처: 50 4B 03 04

이 ZIP 파일 로컬 헤더 시그니처 뒤에 오는 값의 첫번째 비트가 1이면 -> 해당 압축 파일은 패스워드가 걸려있다는 것
그렇기에 우리는 50 4B 03 04 뒤에 홀수 바이트가 오는 지점을 찾아야 함.
예시 값: 50 4B 03 04 14 00 09
이걸 해당 파일에서 찾아보겠음.


Decoded text 에서 보면 이 부분이 의심스러워보임. -> 20240421_213802.png 이게 파일
이 ZIP 파일 앞부분을 싹 지워서 ZIP 파일을 생성하기

이후, 압축을 풀려고 하니까 이렇게 나왔음.
이제 비밀번호를 찾아야함....
비밀번호는 zip 파일 구조 어딘가에.......

찾았는데 진짜 눈 빠지는줄 알았음...
비밀번호는 a1b2c3d4e5f6


해당 이미지 파일을 열면 플래그를 얻을 수 있었음.
'Study > Web Hacking' 카테고리의 다른 글
| [DreamHack] Easy-forensic (0) | 2026.09.28 |
|---|---|
| [DreamHack] BMP Recovery (0) | 2026.09.28 |
| [DreamHack] VCS (0) | 2026.09.27 |
| [DreamHack] VBR (0) | 2026.09.27 |
| [DreamHack] 🍊 (0) | 2026.09.23 |