문제

Bandit Level 9->10

풀이 및 정답

이번에도 여전히 ssh 접속 명령어를 통해서 서버에 접속한다.

ssh -p 2220 bandit9@bandit.labs.overthewire.org

password가 들어있는 data.txt 파일을 살짝 열어만 보자,
이전 문제부터 파일에 들어있는 양이 방대해져서,,,

head -10 data.txt

역시 내용은 방대했다.

password는 사람이 읽을 수 있는 문자열이며, 여러 = 뒤에 온다고 하니 다음 명령어로 대충 가닥을 뽑아보자.

cat data.txt | grep '=='

grep: (standard input): binary file matches. ???
처음 보는 메시지였다.

unix stackexchange

stackexchange 한 챗에 바이너리 파일을 grep 명령어의 인자로 주게 되면 위와 같은 출력을 보낸다고 한다.
-a, –text 옵션을 줘서 바이너리 파일을 텍스트인 것처럼 처리를 한다고 하니 적용해본다.

cat data.txt | grep '==' -a
cat data.txt | grep '==' --text

비밀번호인 것처럼 보이는 문자열이 보이긴 하지만
명확한 출력은 아니므로 좀 더 가공해본다.

cat data.txt | grep '=\{3,\}' -a

'=\{n,\}'

이 옵션을 추가하면 =을 적어도 n번 이상 포함된 부분을 가져오도록 한다.
, (콤마)를 제외하면 적어도가 아닌 3번 포함된 부분을 가져오니 상황에 맞게 사용하면 된다.

사람이 읽을 수 있는 문자열 FGUW5ilLVJrxX9kMYMmlN4MgbpfMiqey 이게 비밀번호가 되겠다 passwd : FGUW5ilLVJrxX9kMYMmlN4MgbpfMiqey

다음!