vish (ByteBandits CTF 2019)

解説

とりあえず http://13.234.130.76:7003 にアクセスしてみる。

最近使ったことがあるので xterm.jsvim のフロントエンドを作ってることはすぐにわかった。vim 系の問題は過去に何回かみたことがあって、基本的に無効化されたキー入力を突破してコマンドを実行する系だった。

今回の問題は websockets を使ってサーバーサイドで処理が行われているため、クライアントサイドをいじっても意味ない (たぶん)

とりあえず vim のマニュアル (日本語) を読み進めながら、1つずつ効果があるかどうか試していたところ CTRL-W_: でコマンドが使えた。

あとは簡単で :!ls / でフラグっぽいのを探して

[No write since last change]
bin boot dev etc flag.txt go hello home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var vim vimrc

Press ENTER or type command to continue

flag.txt があったので、:!cat /flag.txt で終わり。

[No write since last change]
flag{bram_loves_jails}

フラグ

flag{bram_loves_jails}

参考リソース