# WarGame
###### tags: `linux`
https://overthewire.org/wargames/bandit/bandit0.html
[TOC]
## [Level 0](https://overthewire.org/wargames/bandit/bandit0.html)
>Description
The goal of this level is for you to log into the game using SSH
Target: **bandit.labs.overthewire.org**
on port: 2220
User:bandit0
password:bandit0
[SSH tutorial](https://www.wikihow.com/Use-SSH)
```
ssh bandit0@bandit.labs.overthewire.org -p 2220
```

Extra:
Disconnect SSH way
```
exit
```
## [Level 0->1](https://overthewire.org/wargames/bandit/bandit1.html)
>Description:
The password for the next level is stored in a file called **readme** located in the home directory.
```
ls-la
```

```
cat readme
```

password:
NH2SXQwcBdpmTEzi3bvBHMM9H66vVXjL
```
ssh bandit1@bandit.labs.overthewire.org -p 2220
```
login success !!!

Oh yeah, we got the password and loin successfully. We can go ahead and beat the next level
I'm so happy XDD
## [Level 1->2]()
>Description
The password for the next level is stored in a file called - located in the home directory
[Dashed Filename](/8vgxvFLzQmanpw6QLrdj6A)
```
bandit1@bandit:~$ cat < -
rRGizSaX8Mk1RTb1CNQoXTcYZWU6lgzi
```
or
```
bandit1@bandit:~$ cat ./-
rRGizSaX8Mk1RTb1CNQoXTcYZWU6lgzi
```

Ok, we get the password. haha
Now, we try to login in with SSH
```
ssh bandit2@bandit.labs.overthewire.org -p 2220
```

Login success
## Level 2->3
>Description
>The password for the next level is stored in a file called **spaces in this filename** located in the home directory
Note
[Reference space with filename in Linux](/n9rp10KmTmy23EWoNcyVVA)
```
bandit2@bandit:~$ cat spaces\ in\ this\ filename
aBZ0W5EmUfAf7kHTQeOwd8bauFJ2lAiG
```
It's very easy.
We just use the escape characters or quotation marks can handle such file.
```
ssh bandit3@bandit.labs.overthewire.org -p 2220
```

## Level 3->4
>Level goal:
The password for the next level is stored in a hidden file in the **inhere** directory.
```
bandit3@bandit:~$ ls
inhere
```
```
bandit3@bandit:~$ cd inhere/
```
```
bandit3@bandit:~/inhere$ ls -la
total 12
drwxr-xr-x 2 root root 4096 Sep 1 06:30 .
drwxr-xr-x 3 root root 4096 Sep 1 06:30 ..
-rw-r----- 1 bandit4 bandit3 33 Sep 1 06:30 .hidden
bandit3@bandit:~/inhere$ cat .hidden
2EW7BBsr6aMMoJ2HjW067dm8EgX26xNe
```
Ok, we got the next level password again.
```
ssh bandit4@bandit.labs.overthewire.org -p 2220
```

## Level 4 -> 5
>Level goal
The password for the next level is stored in the only human-readable file in the **inhere** directory. Tip: if your terminal is messed up, try the “reset” command.
```
bandit4@bandit:~/inhere$ cat -- -file07
lrIWWI6bB37kxfiCQZqUdOIYfr6eEeqR
```
```
ssh bandit5@bandit.labs.overthewire.org -p 2220
```

## Level 5->6
>The password for the next level is stored in a file somewhere under the **inhere** directory and has all of the following properties:
- human-readable
- 1033 bytes in size
- not executable

真是謝瞜~ maybe 你X
[Search for files based on file size](https://linuxconfig.org/how-to-use-find-command-to-search-for-files-based-on-file-size)
```
bandit5@bandit:~/inhere$ find -size 1033c
./maybehere07/.file2
```
Haha
```
bandit5@bandit:~/inhere/maybehere07$ cat .file2
P4L4vucdmLnm8I7Vl7jG1ApGSfjYKqJU
```
Find one by one, NO way XD
```
ssh bandit6@bandit.labs.overthewire.org -p 2220
```

## [Level 6 -> 7](https://overthewire.org/wargames/bandit/bandit7.html)
>Level goal
The password for the next level is stored **somewhere on the server** and has all of the following properties:
- owned by user bandit7
- owned by group bandit6
- 33 bytes in size
[Linux / Unix Find All The Files Owned By a Particular User / Group](https://www.cyberciti.biz/faq/how-do-i-find-all-the-files-owned-by-a-particular-user-or-group/)
```
bandit6@bandit:~$ find / -user bandit7 -group bandit6 -size 33c
```
Another solve way
```
bandit6@bandit:~$ find / -user bandit7 -group bandit6 -size 33c 2>/dev/null
```
```
/var/lib/dpkg/info/bandit7.password
```
Remover denied message
```
bandit6@bandit:~$ find / -user bandit7 -group bandit6 -size 33c 2>/dev/null
/var/lib/dpkg/info/bandit7.password
```
2>/dev/null
https://www.zhihu.com/question/53295083
file descriptor
stdin, stdout, stderr
shell redirection
duplicate file descriptor


dev/null

```
bandit6@bandit:~$ cat /var/lib/dpkg/info/bandit7.password
z7WtoNQU2XfjmMtWA8u5rN4vzqu4v99S
```
SSH login
```
ssh bandit7@bandit.labs.overthewire.org -p 2220
```
## Bandit Level 7 → Level 8
Level Goal
The password for the next level is stored in the file **data.txt** next to the word **millionth**
[Grep](https://blog.gtwang.org/linux/linux-grep-command-tutorial-examples/)
```
bandit7@bandit:~$ grep -i "millionth" data.txt
millionth TESKZC0XvTetK0S9xNwm25STk5iWrBvP
```
