1.0: 問題概要
・問題名:Scavenger Hunt
・カテゴリ:Web Exploitation
・難易度:簡単
・推奨環境:google chromeで取り組みました。
・問題要約:検証を使ってサイトの中に隠された情報を集める問題
・補足:ChatGPTにはメンターとしてふるまってもらうように設定しています。
2.0: 問題解釈
ちなみにwhatと書かれているところをクリックすると以下のように表示される

2.1: 問題を読んでわかったこと
・タイトルのScavenger Huntをグーグル検索すると、「ガラクタ集め」という宝探しゲームの一種らしい
・また問題文からも、サイトに隠された情報があり、それを探す問題らしいと読み解ける。
・サイトにアクセスし、whatをクリックすると、
I used these to make this site:
HTML
CSS
JS (JavaScript)
と製作者からの置手紙があった。
2.2: 現段階での仮説
・とりあえず簡単レベルの問題はブラウザの検証機能を使えば大体解けるという経験則から、そこから調べれば何か見つけることがそうだ。
・また、作者の置手紙から、HTML,CSS,JavaScriptとあるのでこれらが関係しているんだろう。
3:フラグを探してみる
結論を先に言うと、この問題は大きく5つのパートで構成されていた。なので、それぞれのパートを順を追って解説する。まずは問題のサイトのどこでもいいので右クリックし、一番下の検証を押して検証の画面に入る
3.1: パート1 HTMLの探索
検証画面に入るとConsole, Sources, Elements...という欄があるのでSourcesを選択する。Sources>Page>indexの中身を確認するとフラグの破片の一つ目を見つけることができる。コピペしてどこかに保存しておこう。
3.2: パート2 CSSの探索
パート1と同じように、Sources>Page>mycss.cssの中身を確認するとフラグの破片のふたつ目を見つけることができる。
3.3: パート3 JSの探索
同じ手順でSources>Page>myjs.jsも確認しよう。すると、そこにはフラグの破片ではなく、作者の置手紙があった。
How can I keep Google from indexing my website?
そんなこと聞かれても知らないのでとりあえずchatGPTに聞いてみよう。
…聞いてみたところどうやらrobots.txtというファイルを使うみたいなので、そのディレクトリにアクセスしてみよう。やり方はサイトのURL欄に/robots.txtと追加して書き込むとできる
サイト名/robots.txt
アクセスするとビンゴ!3つ目のフラグの破片を手に入れることができた。
3.4: パート4 隠しファイルの探索1
パート3のサイトの最後の行にも、次のフラグの隠し場所のヒントが記載されている。どうやら次はapache serverに関係することらしい。この辺もあまり詳しくないので、とりあえずchatGPTにヒントをもらおう。
... チャッピー曰くCTFでよく出される特有の隠しファイルとして、
.htaccess .htpasswd ディレクトリインデックス、隠しファイル(. から始まる)
というものがあるらしい。とりあえず順に試してみよう。やり方は先ほど同じくディレクトリにアクセスするだけ。
サイト名/.htaccess

ラッキーなことに一つ目で見つけることができた。余談だが.htpasswdで試すとページが見つかりませんでした。とエラーを吐いた。
3.5: パート5 隠しファイルの探索2
さて、今回も先ほどのサイトから、最後のフラグのヒントが記載されていた。
I love making websites on my Mac, I can Store a lot of information there
パート4の傾向から、おそらく何らかのMacに関連する隠しファイルなのだろうと推察はできるが、万年Windowsユーザーの私には見当がつかないので、ググってみよう。
なんかいろいろあるが、.htacessはApacheのものなので、おそらくこの中にMac特有のファイルがあるのだろう、、、
検索を"Mac特有"と情報を追加すると、.DS_Storeについての記事がたくさん表示されたので、おそらくこれだろうということで、さっそくアクセスしてみる。
サイト名/.DS_Store
すると以下のように、最後のフラグの破片を手に入れることができた。集めた5つを合体させて回答すると、問題をクリアすることができた。

4.0:まとめ
4.1:全体的なまとめ
今回の問題で学んだことは、コードや隠しファイルなど、ウェブサイトには素人でも確認できる中身がたくさんあることだ。そして、もしその中に重要な情報(設定初期パスワードやデベロッパーの名前とかメモとか?)があった場合は情報漏洩や攻撃者が実際に攻撃を仕掛ける際の調査段階でヒントにつながる恐れがあるなと思った。
4.2:隠しファイルについて
ちなみに、ChatGPTに深堀してもらうと、この問題で扱ったrobots.txt や .htaccess、Mac環境特有の .DS_Store といった隠しファイルは、本来外部に公開する必要のないファイルだそうだ。これらはwebサイトを公開する際の設定で外部に公開しないように設定することで、漏洩を防ぐことが基本的な対策になりそうだ。






