-
Dreamhack - video_in_videowargame/Dreamhack 2024. 5. 7. 23:54
[LEVEL 3 - video_in_video - forensics]
문제 파일을 다운로드 받으면 video_in_video.jpg 파일이 들어있다.
문제 이름을 통해 일단 비디오 안에 비디오가 있을 것으로 추정된다.
이 파일을 HxD로 열어보면 jpg 파일의 헤더 시그니처를 확인할 수 있고,
푸터 시그니처도 확인할 수 있다.
그런데 푸터 뒤에 수상해 보이는 값들이 많이 있다.
푸터 뒤부터를 새로운 mp4파일로 만들어 저장한다.
그러면 위와 같이 어떤 동영상 하나를 볼 수 있는데 플래그가 나오진 않는다.
여기서 mp4 파일 구조에 대한 공부를 먼저 하고 나서 문제를 다시 풀었다.
박스(box)란?
- 파일의 기본 단위로 크기, 타입, 데이터를 가짐
- 크기는 크기와 타입 필드를 포함한 박스의 전체 크기를 의미
- 데이터는 타입에 따른 데이터나 자식 박스가 올 수 있음
- 예전엔 아톰으로 불림
mp4 파일의 구조
ftyp : 파일의 호환성을 확인하는 파일 타입 박스
moov : 미디어의 모든 메타데이터를 저장하는 무비 박스
mvhd : 무비 헤더 박스
trak : 특정 미디어 메타정보(cf. 보통은 오디오랑 비디오 두 개)
stsf : 트랙의 디코딩에 필요한 코덱의 정보
stts : 샘플의 시간
stsz : 청크 내 샘플의 크기
stsc : 청크 내 샘플의 개수
stco : 청크의 위치
(나머지는 생략)
mdat : 실제 미디어를 저장하는 미디어 데이터 박스
* moov와 mdat은 순서가 바뀌어도 되지만, moov가 앞에 오는 게 더 좋음(일부 플레이어는 moov가 앞에 없으면 재생X, 플레이어가 재생 전 더 많은 정보 얻기에도 좋음)
해당 파일을 보다보면 mdat이 나온다.
mdat의 뒷부분을 또 다른 mp4 파일로 만들고 열면 동영상을 재생할 수 없다고 뜬다.
그래서 재생할 수 없는 .mp4를 재생할 수 있게 변환해주는 사이트에 이 파일을 넣어 새로운 mp4파일을 얻고 다시 저장한다.
이제 최종적으로 flag가 담긴 영상을 얻을 수 있다.
플래그를 획득했다!
'wargame > Dreamhack' 카테고리의 다른 글
Dreamhack - Dream Zoo (0) 2024.05.14 Dreamhack - Enc-JPG (0) 2024.05.08 Dreamhack - BMP Recovery (1) 2024.05.01 Dreamhack - sleepingshark (0) 2024.05.01 Dreamhack - web-ssrf (2) 2024.03.26