CTF | wargame

3DS CTF - Crypto Master? (socket 통신 형태의 crypto)

nopdata 2017. 3. 6. 03:10
keyword : socket 통신 형태의 crypto
url : 

문제는 서버에 접속을 해야 하는 문제이다.

서버에 접속을 하면 먼저 'Hi! Are you my master?'를 서버에서 보내준다.
그 응답으로 'yes'를 보내면 다음과 같이 C -> W, F -> T, Z -> 0을 보내준다는 메시지가 오고, I를 받기 위해서는 무얼 보내야 하는가에 대한 질의가 온다. 이 값을 따져보면 아래와 같다.

알파벳  테이블에 0을 추가한 암호문이 나온다. M을 기준으로 대칭이 된다. 따라서 위처럼 소스코드를 작성하고  풀이를 하면 된다. 'I'를 받기 위해서는 Q를 보내면 되며 Q를 보내게 되면

'QYMFRUMYGFUHKTWQJRUHG' 문자열이 넘어오게 된다. 이 문자열을 위에서 작성한 소스에 적용을 시키면
'IAMTHEMASTEROFCIPHERS' 라는 메시지를 얻을 수 있고 이를 보내면 답을 얻을 수 있다.

따라서 답은 3DS{M4st3r_My_455}

++++
위 형태만 있다 치고 만든 서버 소스. 로컬에서 문제를 풀어보면 될 것 같다.