문제
풀이 및 정답
이번에도 여전히 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. ???
처음 보는 메시지였다.
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
다음!