1. 드림핵에서 제공하는 cyberchef 툴을 이용해서 푸는 문제이다. 문제 파일을 다운로드하자.

 

2. 다운로드 받은 index.html을 브라우저로 실행하면 이상한 문자열과 인코딩 기법이 보인다. 뭔지 확인해보자.

- Rail Fence : 평문의 순서를 재배치하여 암호화 하는  고전 암호이다.

 > 암호화 키가 1324인 평문 "TEST"의 암호화 결과는 "TTES"이다.

 

- Base64 : Binary Data를 Text로 바꾸는 인코딩이다.

 > 이진 데이터를 6bit씩 자른 뒤 6bit에 해당하는 문자를 Base64 표에서 찾아 치환한다. 이진 데이터의 길이가 6bit로 딱 떨어지지 않을경우, 남는 비트 뒤에 0을 채워 6비트를 만들어내며 해당하는 문자 뒤에 패딩문자를 나타내는 "="가 추가된다.

 > 평문 "test"를 Base64로 인코딩한 결과는 "dGVzdA==" 이다.

 

- ROT13 : 카이사르 암호의 일종으로 영어 알파벳을 13글자씩 밀어서 만드는 고전 암호이다.

 > 평문 "test"를 Base64로 암호화한 결과는 "grfg" 이다.

 

3. index.html에서 확인한 문자열은 평문을 Rail Fence 암호화, BASE64 인코딩, ROT13 암호화를 수행한 것으로 보인다. 따라서 문제에서 제공하는 드림핵 cyberchef를 이용해 반대로 복호화 기법을 차례로 적용해보자.

 

4. 문제에서 확인한 암호화 문자열을 input data에 입력하면 플래그를 확인할 수 있다. 문제풀이 끗

 

'워게임 > dreamhack' 카테고리의 다른 글

[dreamhack] ROT128 문제풀이  (0) 2024.01.31
[dreamhack] rev-basic-8 문제풀이  (0) 2023.12.26
[dreamhack] session-basic 문제풀이  (0) 2022.05.26
[Dreamhack Web - Lv 2] Flask-Dev  (0) 2021.12.14
[Dreamhack Web - Lv 1] Tomcat Manager  (0) 2021.11.24
복사했습니다!