또 뭐하지
[기초] OverTheWire:Bandit - level 0~level 6 본문
Level 0
- SSH(Secure Shell) : 원격지 호스트 컴퓨터에 접속하기 위해 사용되는 인터넷 프로토콜
- 접속 명령어
ssh [USER]@[HOSTNAME] -p [PORT]
명령어와 문제에 나온 패스워드를 입력하여 서버에 접속했다.
Level 0 → Level 1
readme 파일 안에 패스워드가 있다.
- ls : 현재 디렉토리의 내용 나열
- cd : 디렉토리 변경
- cat : 파일 내용 표시
- file : 파일의 유형 확인
- du : 디스크 사용량 보고
- find : 파일 및 디렉토리 검색
홈 디렉토리 안에 readme 파일이 있고, 해당 파일을 열어 패스워드를 확인할 수 있다.
Level 1 → Level 2
'-'라는 이름을 가진 파일 안에 패스워드가 있다.
`cat -`으로 입력하면 옵션으로 인식되기 때문에 `-`로 시작하는 이름을 가진 파일은 단순하게 cat만 사용하여 열 수 없다.
`cat < -`(리다이렉션) 또는 `cat ./-` (파일경로입력) 와 같은 방식으로 열 수 있다.
Level 2 → Level 3
'spaces in this filename' 파일 안에 패스워드가 있다.
명령줄 인터프리터는 각 공백을 인수 구분자로 인식하기 때문에 공백이 포함된 파일명은 따옴표 `' '` 안에 입력하거나 공백 앞에 `\`을 입력해야 올바르게 인식된다.
Level 3 → Level 4
inhere 디렉토리의 숨겨진 파일 안에 패스워드가 있다.
`-a` 옵션을 이용하여 숨겨진 파일과 디렉토리를 모두 표시하면, 숨겨진 '.hidden' 파일을 확인할 수 있다.
숨겨진 파일과 디렉토리는 이름이 `.`으로 시작한다.
Level 4 → Level 5
inhere 디렉토리에서 사람이 읽을 수 있는 파일에 패스워드가 있다.
inhere 디렉토리에 있는 모든 파일 (`*`)의 정보를 `file` 명령어를 이용해서 확인해보면 '-file07'이 아스키코드로 되어 있다는 걸 확인할 수 있다.
Level 5 → Level 6
inhere 디렉토리 안 '사람이 읽을 수 있고, 크기가 1033 바이트에, 실행이 불가능한' 파일 안에 패스워드가 있다.
`find` 명령어의 `size` 옵션을 사용하여 1033바이트의 크기를 가진 파일이 './maybehere07/.file2' 하나인 것을 확인할 수 있다.
`file` 명령어를 통해 해당 파일의 정보를 확인해보면 아스키코드로 되어있어 사람이 읽을 수 있다는 조건을 만족한다.
`ls -l` 명령어를 통해 해당 파일의 파일 권한을 확인해보면 '-rw-r-----'로 실행할 수 없다는 조건을 만족한다.
따라서 './maybehere07/.file2' 파일이 모든 조건을 만족하고, 해당 파일을 읽어보면 패스워드를 확인할 수 있다.
'I.sly() > 9기 기초 - 공통' 카테고리의 다른 글
[기초] 웹 해킹 개념 간략 정리 (0) | 2024.04.04 |
---|---|
[기초] 웹 개념 간략 정리 (0) | 2024.03.28 |
[기초] 리눅스 개념 간략 정리 (0) | 2024.03.28 |
[기초] 컴퓨터구조, 자료구조, 알고리즘 간략 정리 (0) | 2024.03.22 |
[기초] C언어 개념 간략 정리 (2) | 2024.03.15 |