리눅스/bandit

[bandit]bandit9 -> bandit10

해공학(해킹을 공부하는 학생) 2023. 5. 7. 15:42

overthewire 페이지 해석 : "사람이 읽을수있고, =과 같은게 앞에 여러게 나와"

상황 파악 : 파일안에는 우리가 읽을 수 없는 바이너리 파일들이 많다.

bandit9@bandit:~$ cat data.txt
,▒▒aIx▒z▒▒▒4Eh▒▒▒▒5▒▒c▒ҟ▒@[▒cj▒▒▒݅▒O▒}▒1״▒▒0▒ %S▒ȭ▒5▒Y▒▒#▒▒ڝB4Qle▒<▒▒▒0N;▒▒j▒X▒▒▒qӢ▒'Z▒F0▒/▒▒yLR▒▒▒▒W▒▒▒▒▒▒k͜▒)▒▒Ъx<9s
 n▒o4▒▒b▒Xْ!▒0a▒u▒       ▒j▒m▒▒w▒S▒]▒▒O▒▒
▒(<▒▒[▒▒Z ܚ▒}▒9▒7▒▒EbX▒SM=▒O▒3▒h{▒▒J▒▒▒▒Q?cX(▒▒▒▒▒▒▒Z\▒25▒▒O    l▒▒▒▒f` W0▒n▒▒ݟ▒▒▒▒h▒~▒▒▒]▒o▒▒t߅▒▒▒8r▒▒MmH▒`▒▒vOs*[▒p▒▒HA-▒▒~gܙ?`YOd45▒Ҽ+8▒&▒Ϧ\▒*▒▒▒▒;>|▒.▒▒▒▒=▒

저번에 배웠던 grep은 바이너리 파일들을 찾을수 없으므로 패스!

그럼 어떤 명령어를 사용해야 할까? 바로 strings이다.

 

Strings

strings은 텍스트를 찾아주는 명령어 이다.

이명령어를 사용하면 파일안에 텍스트를 출력할수있다.

기본 사용방법은 strings [옵션] [파일이름] 입니다.

주요 옵션 몇가지 알아보겠습니다.

-a : 모든 텍스트를 다 출력한다.

-o : 나온텍스트를 뒤에 인자에 적은 파일에 저장한다.

-n [숫자] : 뒤에 숫자만큼 긴 텍스트만 출력한다.

 

 

다시 bandit으로 돌아와서, strings 와 grep를 사용하여 나타내어 보겠습니다.

bandit9@bandit:~$ strings data.txt | grep "=="
4========== the#
========== password
========== is
========== G7w8LIi6J3kTb8A7j9LgrywtEUlyyp6s

이런식으로 비밀번호가 G7w8LIi6J3kTb8A7j9LgrywtEUlyyp6s 입니다.

 

정리 

strings는 파일에서 사람이 읽을수 있는 부분만 출력해준다.

bandit10의 비밀번호 : G7w8LIi6J3kTb8A7j9LgrywtEUlyyp6s