第32話
夏の夜は短い、というのを、二海は初めてほんとうに体感した。四時ころには外の暗さがだんだん薄まってきて、そこらが水の中のような青に染まったかと思うと、すぐに新しい光が差してきた。熱っぽく疲れた二海の目に、朝日はことさらまぶしかった。
二海の解いている、というより苦戦しているWEBの最終問題は、コーヒーショップのメニューだった。カフェオレだのエスプレッソだの抹茶ラテだののメニューが、写真と値段と一緒に並べてある。写真をクリックするとポップアップが表示され、そこに『こだわりの抹茶にほんのり甘みをプラス。深みのある人気のラテです』と説明が出る。ただそれだけのページだった。これのどこにフラグがあって、どう解けばいいというのか。ブラウザのデベロッパーツールで通信内容を調べ、Wiresharkでパケットの中身を見て、と一通りを試しているのだが、きっかけすらつかめない。フォームのようにこちらからの入力を受け付けているのではないし、セッションも使っていない。HTMLやJavaScriptのソースを読んでも、あやしいところは見つからない。お手上げ、とあきらめることはできないのだが、たとえばこれが練習問題なのだったらとっくのとうに答えを見ているところだった。
『AJSEC Junior Coffeeは、アメリカ西海岸生まれのコーヒーショップです。季節に合わせた本物の味を提供します』という説明書きをにらみながら、二海は頬杖をついていた。ちらりと時計を見る。もう六時十五分前だ。後六時間。Networkの最後の問題もまだ解いていない。そして眠かった。ネムシャキの効果もあってか、二時、三時ころまではぜんぜんだいじょうぶだったのに、朝日を見てからかえって眠くなってきていた。まぶたの上が痛いように重く、頭にゴムバンドでもはめているようだった。
『かおあらってくる』
変換ミスもそのままに、二海はチャットを送った。冷たい水でぱしゃぱしゃ顔を洗う。目の奥のずんと重い感じは残っていたが、ほんの少しはすっきりした。部屋に戻ると、チャットにゆあんから返信が来ていた。
『夜明け〜〜〜日本の夜明け〜〜〜まだ残ってる〜〜〜』
テンションがおかしい。しかし二海もつられて、『夜明け早い〜〜〜Webのラス問が難しくてわからない〜〜』と書いた。
『こっちもまだだよもー難しい!むり!』
そうゆあんから返信があったところで、『あとちょいだから頑張ろう!』と、桃がそこへ入ってきた。『こっち今misc全部終わった!5位!』と続けてメッセージが来る。
『わおナイス!ナイス!さすが!』
『すごい!』
二海とゆあんは笑顔や矢印や太陽の絵文字をたくさんつけて返信したが、桃はあくまで冷静だった。
『ゆあんは残ってるの二問?二海も?』
『そう』
『そうだよ』と二海は返した。
『私はあとCryptoひとつだけだから、終わったらWebかNetworkは手伝えるから、今やってるやつそのまま続けて @futami_m』
『わかった!』
二海はそう返信した。桃の言葉は心強かった。二海はチャットの画面を切り替えて、問題に戻った。
それでもなかなか解法は見つからなかった。苛立ちに、確実に減っていく残り時間への焦り、それに疲れで腹の辺りが変に緊張していた。その緊張をそのままに、二海はぎりぎりと問題に食いついた。
きっかけは、ブラウザでなくコマンドでページのURLにリクエストを投げたことだった。返ってきたページの内容は、今までブラウザで見ていた日本語の内容ではなく、英語でメニューや説明が書かれていた。
リクエストしたのは同じURLなのに、返ってきた内容が違う。それを糸口として、二海は調べを進めた。リクエストを送るときに、ブラウザが自動でリクエストに追加しているヘッダーが日本語と英語を切り替えるのに使われていることがわかった。そのヘッダーに攻撃用の文字列を仕込んで送信し、フラグが含まれたファイルを表示させる。攻撃用の文字列の組み立てや、フラグの入っているファイルの在り処まで調べて、ようやっとフラグにたどり着くと、二海は達成感より先にどっと疲労感に襲われた。
(あと……三時間ちょい)
かあっとした日差しが差してきていた。フラグを送りダッシュボードを確認する。KJCCはまだ五位の位置を保っていた。
『あと1つ!』
というメッセージがゆあんから二十分前に届いている。ということは、それぞれが残しているのはあと一問ずつだ。
『こっちも!』
そう送ってから、二海はNetworkの最終問題を開いた。三時間でこれが解けるのかどうか。Webの最終問題は結局八時間はかかったのに。でもやらないと。五位に入らないと。ごたごたといろいろなことが頭の中でぐるぐるした。
Networkの問題ページからダウンロードした圧縮ファイルを展開すると、中には画像が四枚入っていた。猫、犬、うさぎ、インコのアイコンの画像だった。
(え?)
Networkの問題なのだから、通信ログのファイルかなにかだろうと思っていた二海はそれにとまどった。それぞれをよく見てみても、どこかにフラグが小さく書かれているというようなこともない。だいたいそれではNetworkの問題にはならないだろう。
(何? どうするのこれ?)
手探りで、二海は画像を検索にかけてみた。ファイルのダウンロード元のサーバーを調べてみた。しかしそうしている間にも、残り時間はどんどん少なくなっていく。
残り一時間を切ったところで、『Crypto終わった!』と桃からチャットが飛んできた。
『どう? @futami_m』
『今最後のネットワークの問題だけど、よくわからない』と二海はすぐ返信した。
『おっけ、見る!』
数分経って、桃はもう一度チャットを送ってきた。
『なんだこれ、難しい』
桃のそのメッセージを読んで、二海は低く声を漏らした。もしかすると桃ならこの問題もささっと解けるんじゃないかと思っていたのだが、そういうわけではなかった。でもそれなら、自分もまだこの問題と取っ組み合わなければいけない。
じりじり、と時計は進んでいく。二海はどうにか解法が見つからないかと調べながら、合間に何度もダッシュボードを更新した。まだKJCCは五位にいた。それでもすでに一位と二位のチームは全問解答済みで、AJSEC本戦出場を決めている。あと残っているのは三枠だ。もう、今すぐAJSEC Juniorが終わってほしい。そうすれば五位を確定できる。二海はそんな埒ないことを考えた。
それでも、十一時四十分を過ぎても、KJCCが五位なのは変わらなかった。このままいけば、と二海は画像を開きながら考えた。胃が痛いようだった。
あと二十分では、この最後の問題を解くのは難しいだろう。それでも何かはしていないと落ち着かなくて、画像を拡大して調べてみたり、回転させたりしてみていた。
しかし、もう何度目かわからないリロードをしたとき、ダッシュボードの順位表は今までと変わっていた。『四谷高校コンピューター部』が、五位に入ってきた。
二海は手の先が震えるような焦りを感じた。どうしたらいいかわからず、画像を開いた。リクエストを送った。『画像 CTF』でWeb検索までした。そうしながら、二海は自分の手がふわふわと自分のものでないように感じていた。
感覚はそのままに、時計は十二時を過ぎた。最後に二海はもう一度、祈るような気持ちでダッシュボードをリロードした。変わらなかった。KJCCは、六位だった。
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます