picoCTF

Based

h34hg0 2022. 5. 11. 14:04

문제


Based

진정으로 1337을 얻으려면 16진수 또는 이진수와 같은 다양한 데이터 인코딩을 이해해야 합니다. 당신이 1337이 되는 과정에 있다는 것을 증명할 수 있는 이 프로그램에서 깃발을 얻을 수 있습니까? nc jupiter.challenges.picoctf.org 15130.에 연결하세요.


풀이


입력 받은 수를 아스키코드로 반환하는 프로그램

문제풀이를 하기전에 진법을 변환하여 아스키코드 문자로 바꾸는 과정이 필요하므로 위와 같이 진법을 입력하면 그 진법에 맞게 10진수로 변환 후, 아스키코드 값으로 바꿔주는 파이썬 코드를 짜봤다.

 

2진수

nc를 통해 접속을 하니 2진수를 단어로 바꿔서 입력해 달라고 한다.

 

이진수를 아스키코드로 변환

그래서 파이썬으로 짠 프로그램을 사용해서 문자열로 변환을 해보니 map이라는 단어가 나온다.

 

8진수

map입력 후, 이번에는 8진수를 단어로 바꿔서 입력을 해달라고 한다.

 

8진수를 아스키코드로 변환

2진수를 아스키코드로 바꾼것처럼 프로그램을 사용하여 변환을 해보니 sludge 라는 단어가 나오는 것을 알 수 있다.

 

16진수

sludge 입력후 이번에는 16진수를 단어로 바꾸라고 한다. 근데 내가 만든 파이썬 프로그램은 한 문자씩 변환하기 위해 공백으로 구분되어야 한다.

 

table

코드를 다시 짜는것은 귀찮아서 웹페이지에 있는 진법 변환기를 이용했다.

 

이진 번역기 / 변환기 : 이진, 십진, 헥사, 아스키 코드 및 일반 텍스트 | RAKKOTOOLS🔧

 

이진 번역기 / 변환기 : 이진, 십진, 헥사, 아스키 코드 및 일반 텍스트 | RAKKOTOOLS🔧

이진수, 10 진수, 16 진수, ASCII 숫자 및 텍스트 간 변환

ko.rakko.tools

 

picoCTF{learning_about_converting_values_02167de8}

변환을 해보니 table이라는 단어가 나왔고 입력을 해서 플래그가 picoCTF{learning_about_converting_values_02167de8} 임을 알 수 있다.