리눅스/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