【picogym】Scavenger Hunt WriteUP【picoCTF2021】

問題カテゴリ

  • Web
  • Easy

問題を理解

タイトル

Scavenger Hunt

  • 宝探しゲームらしい。

問題文

There is some interesting information hidden around this site http://mercury.picoctf.net:39698/. Can you find it?

  • 興味深い情報があるらしい

脆弱性を見つける

Webサイトにアクセスしてみると「Just some boring HTML」とのことです。
「What」タブをクリックすると構成要素が書かれています。
HTML,CSS,JSで書かれているとのこと。

デベロッパーツールでソースコードをみると以下がありました。

HTML

<!– Here’s the first part of the flag: picoCTF{t -→

断片的にフラグがサイト上にありそうです。

CSS

/* CSS makes the page look nice, and yes, it also has part of the flag. Here’s part 2: h4ts_4_l0 */

こちらにもありました。

JS

/* How can I keep Google from indexing my website? */

直接フラグはないもののrobots.txtを見てみます。

Part 3: t_0f_pl4c

I think this is an apache server… can you Access the next flag?

見つかりました。

次はapache serverとのことですが、
よくわからないのでChatGPTに聞きながら進めます。

このヒントは「Apache が生成する標準ファイル」を探す方向を示しています。
Apache でよくあるのは以下です:

  • /server-status
    Apache に mod_status が入っているとアクセスできます。
    → よくCTFでフラグが隠れている。
  • /.htaccess.htpasswd
    Apache ならではの設定ファイル。
    ただし実運用では見えませんが、CTFだと読めることがある。
  • ディレクトリリスティング
    Apache は「ディレクトリに index.html がない」と中身を一覧表示します。
    その一覧にフラグが隠れていることが多いです。

apacheが生成する標準ファイルにアクセスしてみます。

/.htaccessにアクセスします。

Part 4: 3s_2_lO0k

I love making websites on my Mac, I can Store a lot of information there.

ありました。

次はMacでサイト制作を行っていることがカギとなるようですが、

よくわからないので、聞いてみます。

.DS_Store とは
macOS がディレクトリを開いたときに勝手に作る隠しファイル。
フォルダの表示設定や、アイコンの位置などを保存します。
中には「このフォルダに何のファイルがあるか」という情報が含まれることがあり、本来非公開のファイル名が漏れてしまうことがあります。

とりあえず、/.DS_Storeにアクセスしてみます。

Congrats! You completed the scavenger hunt. Part 5: _fa04427c}

ゲットできました。

.DS_Storeとは、macOS がディレクトリを開いたときに勝手に作る隠しファイルで、フォルダの表示設定や、アイコンの位置などを保存します。
中には「このフォルダに何のファイルがあるか」という情報が含まれることがあり、本来非公開のファイル名が漏れてしまうことがあります。

とのことです。

フラグをつなげると
picoCTF{th4ts_4_l0t_0f_pl4c3s_2_lO0k_fa04427c}
となり、無事クリアとなりました。

感想&メモ

  • Apacheのことをあまり知らなかったので、脆弱性と対策(どういう設定にすればいいのか)をAIに聞きながら進めて勉強になった。
  • .DS_Storeは、Macを使うと出てくるファイルの認識はあったけど、そういうリスクもあるんだなぁ・・・。
    うっかり、ファイルをごっそりアップしたときに.DS_Storeがアップされて、
    「隠し管理画面・バックアップ・鍵ファイルなどの“在り処”がバレる.それを足掛かりに次の侵入口(例:古いバックアップ .zip、config.php.bak 等)に到達されがち。」
    とのことです。今後CTFで出会いそう。
  • 実務ではファイル配信をWebサーバー側で拒否したり、git ignoreで上げないようにしたりするようです。

CTF

Posted by tyokio