ctf-d

CTF-D 뱀

너cu 2020. 12. 2. 07:04

이번에 풀어볼 문제는 뱀 이라는 문제이다. 이전 문제와 비슷하게 PASSWORD가 주어졌다.

 

ZIP 파일을 다운받아 보겠다.

 

MP3 파일이 있어서 클릭하니 암호를 입력하라고 한다.

암호를 입력하고 파일을 재생하려고 하니 재생할수 없다고 뜬다. 그렇다면 파일 헥스값을 한번 보자

 

 

HxD로 살펴본 값에 : = 3A가 불필요하게 들어가있는것을 볼 수 있다. 메모장에서 이를 다 지워주고 정렬해보았다.

 

이런식으로 나온다. 하지만 아직 뭔가 부족하다. 잘 모르겠어서 다른 사람들이 쓴 write up 을 참고해서 써본다.

 

첫번째로는 decode text의 : 를 제거해서 HxD에 넣어보아야한다. 

 

여기서 힌트를 얻을 수 있다. 맨 마지막에 붙어있는 == 은 base 64 를 인코딩 했을때 자주 붙는다고 한다. 그렇다면 디코딩을 해주도록 하겠다. 

 

첫번째 디코딩 상태이다. 아직 아무것도 안보인다. 

 

 

뭐가 나타났다. \0x54\....이런 형식이 나오는데 우리가 아는 형식은 아니다. 문자가 변환된거 같다. 

 

찾아보니 ROT13 방식을 이용하였다고 한다. 그럼 바로 가보자

 

 

바로 나온다. 그렇다면 우리는 \0x54\0x68.....을 HxD값에 입력해서 어떤것이 나오는지 볼것이다. 

 

flag를 얻었다. 정답이다