프롤로그
bandit 문제 풀이
저번 비밀번호는 2WmrDFRmJIq3IPxneAaMGhap0pFhF3NJ
ls -al, cat, cd, file
문제
다음 단계로 가는 비밀번호는 inhere 디렉터리 내부에 사람이 읽을 수 있는 파일로 존재합니다.
풀이과정
가장 먼저 해야할 것은, 일단 접속 하고 ls -al부터 해야한다.
ssh bandit4@bandit.labs.overthewire.org -p 2220
2WmrDFRmJIq3IPxneAaMGhap0pFhF3NJ
ls -al
inhere 디렉터리 내부에 있다고 하니까, inhere로 이동해서 다시 ls -al을 해보자.
cd inhere
ls -al
-file00 부터 -file09 까지 총 10개의 파일이 존재한다. 저 10개 파일을 전부 확인해서 사람이 읽을 수 있는 파일을 찾아내야 한다.
그럴 때는 file이라는 명령어를 이용해야 한다.
file
파일의 종류를 식별하는 데 사용된다. file은 파일의 내용을 분석하여 파일이 텍스트 파일인지, 바이너리 파일인지, 실행 파일인지 등 다양한 정보를 출력해주는 역할을 한다.
기본 사용법은
file <파일명>
이렇게 되는데, 저기 <파일명> 부분에 *을 입력하면 모든 파일의 정보들을 다 확인할 수 있다.
- -i, --mime: 파일의 MIME 타입과 인코딩을 출력.
- -b, --brief: 파일 이름 없이 결과만 출력 (간결 모드).
- -h, --no-dereference: 심볼릭 링크를 따라가지 않음.
- -L, --dereference: 심볼릭 링크를 따라가 실제 파일 정보 출력.
- --extension: 파일 유형에 맞는 확장자 목록 출력.
- -f, --files-from namefile: 파일 목록 파일을 읽어와 검사.
이정도인데, 핵심적으로 쓸 건 -i 정도일 것 같다.
file 에 대해서 알았으니까, 다시 진행해보자.
fille *를 하면 파일 전체의 정보들이 나온다고 한다.
file *
근데 파일 이름들이 -file00, -file01 이런식이라서 -이거 때문에 속성으로 인식하는 것 같다. 그렇다면 일단 첫 번째로 해결해야하는 것은, -file00 이런것들이 파일처럼 인식되게 해야 한다는 것.
그래서 다시 file ./*로 해보자.
file ./*
제대로 잘 나온다. 보면 ./-file07에 ASCII text 라고 나온다. 저게 사람이 읽을 수 있는 파일일 것이니, cat으로 읽으면 바로 비밀번호가 나올 것이다. 문득 file -i ./* 의 출력결과가 궁금해져서 확인해보려고 한다.
이렇게 출력이 된다. 그냥 file * 가 가장 보기 간편한 듯
그래서 다시 -file07번의 내용을 보자.
cat ./"-file07"
비밀번호가 나왔다.
정답
비밀번호는 4oQYVPkxZOOEOO5pTW81FB8j8lxXGUQw 이다
출처
https://overthewire.org/wargames/bandit/bandit5.html
'bandit' 카테고리의 다른 글
[2024/bandit] bandit level6 -> level7 Write-up (0) | 2024.11.10 |
---|---|
[2024/bandit] bandit level5 -> level6 Write-up (0) | 2024.11.10 |
[2024/bandit] bandit level3 -> level4 Write-up (0) | 2024.11.09 |
[2024/bandit] bandit level2 -> level3 Write-up (1) | 2024.11.09 |
[2024/bandit] bandit level1 -> level2 Write-up (0) | 2024.11.09 |