밴딧은 리눅스 OS와 shell을 가지고 플레이하는 워게임입니다.
한 문제를 풀면 다음 문제로 갈 수 있는 패스워드를 획득하게 됩니다.
(윈도우는 putty를 사용해주세요)
// ssh -p 포트번호 유저이름@도메인이름
ssh -p 2220 bandit0@bandit.labs.overthewire.org
exit
ssh를 사용해서 접속한다.
ssh -p 2220 bandit0@bandit.labs.overthewire.org
ls
cat readme
boJ9jbbUNNfktd78OOpsqOltutMc3MY1
루트 디렉토리에 이름이 -인 파일이 있다.
cat 명령어로 읽으려고 하면 안읽어진다. -가 옵션을 입력하려는 줄 알고 입력 대기 상태가 된다.
이름이 - 인 파일을 읽는 방법은 다음과 같이 경로를 붙여서 파일을 읽어준다.
// ./ 은 현재 디렉토리라는 의미다.
cat ./-
CV1DtqXWVFXTvM2F0k09SHz0YwRINYA9
다음과 같이 파일명에 공백이 있으면, 문자열을 공백으로 분리해서 총 4개의 파일을 읽으려고 한다고 인식한다.
cat spaces in this filename
이름에 공백이 있는 파일을 읽는 방법은 공백을 \스페이스로 대체하는것이다.
문자열에서 공백은 아스키코드 32번 스페이스입니다.
근데 그냥 스페이스 입력하면 아스키코드로 인식하지 못하니까 역슬래시()로 이스케이프문을 앞에 붙여주어 공백으로 인식되도록 합니다.
역슬래시 붙여서 다른 역할을 하는것은 예시
\n: 줄바꿈
\0: 널문자 - c 언어 문자열 제일 마지막에는 널문자들어갑니다.
자동완성을 이용하자
cat sp까지 입력하고 키보드의 탭을 누르면 공백을 인식하고 자동완성이 이루어진다.
그리고 왠만하면 대부분 자동완성 사용합니다. 그냥 입력하면 너무 오타 많이 납니다.
UmHadQclWmgdLOKQ3YNgjWxGoRMb5luK
파일명 앞에 .이 붙으면 숨겨져서 ls 또는 find 명령어로 보이지 않습니다.
숨겨진 파일을 보는 옵션은 -al
pIwrPrtPN36QITSp3EQaw936yaFoFgAB