[OverTheWire:Bandit] Level 9 ~ Level 10

2023. 7. 13. 23:32War Game/OverTheWire

문제

 

 

다음 단계로 넘어가는 암호는 여러 '=' 문자가 앞에 오는 사람이 읽을 수 있는 문자열 중 하나로 'data.txt'파일에 저장되어 있다.

 

Keyword

 

cd, cat, find, grep, |, strings

 

풀이

 

find / -name data.txt 2> /dev/null

 

암호가 있는 위치를 알려 주지 않았으므로 find 명령어를 사용해서 'data.txt'라는 이름을 가진 파일을 찾아보았더니 여러 결과가 나오는데 그중 경로에 bandit9 이 들어간 경로의 'data.txt' 파일을 확인해 보자.

 

cat /home/bandit9/data.txt | grep ====*

 

cat 명령어를 사용해서 'data.txt' 파일의 내용 중 문제에서 제시된 조건에 맞게 출력하였더니 바이너리 파일이라는 내용이 출력된다. 그래서 바이너리 파일에서 쓰이는 명령어를 찾아보았더니 cat 대신 strings 명령어를 사용하면 바이너리 파일 내에서 사람이 읽을 수 있는 문자열을 추출하여 출력할 수 있다는 사실을 알 수 있었다.

 

strings /home/bandit9/data.txt | grep ====*

 

strings 명령어를 사용해서 ===== 옆에 문자열을 출력했더니 'the password is ~~~~'이라는 내용이 출력되는 것을 확인할 수 있다.