Level Goal

There is a git repository at ssh://bandit29-git@localhost/home/bandit29-git/repo via the port 2220. The password for the user bandit29-git is the same as for the user bandit29.

Clone the repository and find the password for the next level.

Commands you may need to solve this level

  • git

My Answer (Step by step)

  1. 連線到伺服器並登入
ssh bandit29@bandit.labs.overthewire.org -p 2220
  1. 透過 mktemp 指令產生暫存資料夾,並透過 cd 指令進入它,以便稍後 clone git repo
mktemp -d
cd /tmp/tmp.donk1bH1gq
  1. 透過 git 指令將 repo clone 下來
git clone ssh://bandit29-git@localhost:2220/home/bandit29-git/repo
  1. 透過 cd 指令進入 repo 資料夾,並透過 ls 指令查看資料夾內容
cd repo
ls
# README.md
  1. 透過 cat 指令讀取 README.md 檔案,發現沒有密碼 :(
cat README.md
# # Bandit Notes
# Some notes for bandit30 of bandit.

# ## credentials

# - username: bandit30
# - password: <no passwords in production!>

根據指令結果說明,當前分支可能為生產分支(production branch),密碼可能藏在開發分支(development branch)中

  1. 透過 git branch 指令查看該 repo 有哪些分支
git branch -a
# * master
#   remotes/origin/HEAD -> origin/master
#   remotes/origin/dev
#   remotes/origin/master
#   remotes/origin/sploits-dev
  1. 透過 git checkout 指令切換分支至 remotes/origin/dev,並重新透過 cat 指令讀取 README.md 檔案,發現 Level 30 密碼!
git checkout remotes/origin/dev
cat README.md
# # Bandit Notes
# Some notes for bandit30 of bandit.

# ## credentials

# - username: bandit30
# - password: qp30ex3VLz5MDG1n91YowTv4Q8l7CDZL