第18話
表示されたページのタイトルは『Viewing Page Source』で、その下に小さめのフォントで『Web:20』と書かれている。『Log in』というリンクをクリックすると、『www.novice-ctf.net/web/login:6789』というURLのページに移動した。『Username』と『Password』の入力フォームと、『Submit』ボタンがついている。
(これ、前やったやつだ)
二海は机の上に載せていた『CTF攻略ガイド』を開き、ページをめくった。確か、データベースに登録されているパスワードを抜き出すやつだ。『SQLインジェクション』のページを開いたまま本を膝の上に載せ、二海はユーザー名欄に『test' or '1' = '1' --』と入力し、『Submit』ボタンを押した。もしこれが前にやったのと同じタイプのものなら、データベース上のユーザー情報と入力されたユーザー名とパスワードのペアを照らし合わせるとき、二海が入力した後ろの『'1' = '1'』、つまり常に成り立つ式を含めてしまい、『この式が合っているから入力されたユーザー名とパスワードはデータベースの中に存在する』と判断するはずだ。それで実際にはパスワードを知らなくても、どんなユーザーとしてでもログインすることができる。
「あれ?」
フラグが表示されるものと思っていたのに、代わりに出たのは『Login failed』だった。つまり二海が使った攻撃手法は失敗だったということになる。
(なんだろう……)
二海は『CTF攻略ガイド』をぱらぱらめくり、今までに覚えた方法を色々試してみた。ブラウザのデベロッパーツールを使ってヘッダーの中身を見てみたり、Wiresharkを使って通信内容にパスワードが隠されていないか確認してみた。しかし、怪しいところはどこにもなかった。
(ええ……難しい……)
その時、チャットにメッセージが飛んできた。
『一問目クリア』
ゆあんからのスクリーンショットつきのメッセージだった。
『いいね!私もあとちょい!』
桃がそれに返信する。二海は焦った。自分だけまだ手がかりもつかめていない。最後まで一問も解けなくて、結局足を引っ張ってしまうのではないか。不安で、胸の深い辺りがぎゅうとした。
二海は方針もないまま、ブラウザのあちこちをクリックした。あるところを押すと、別タブが開いた。『ページのソースを表示』を押したらしく、『<!DOCTYPE html>』から始まるHTMLタグがずらりと表示されている。このごろはCTFクラブで忙しく、『two-oceans.xyz』のページは手を入れていなかったから、それはなんだか懐かしいような気がした。
「あれ」
ソースのタブを閉じようとして、二海はその十四行目に目を留めた。緑色で表示されているその行は、『<!--』で始まり『-->』で終わっている。つまりはコメント行で、ソースの中では見えるが実際のページ上では表示されない。そしてそこには、『The administrator password is jf71lgs』と書かれていたのだった。
「ええー」
二海は『jf71lgs』をコピーし、パスワード欄に入力した。『Submit』ボタンを押した。『Welcome! This is your flag:nctf:{comment_is_not_protected}』と表示された。
二海は拍子抜けして、背もたれに体重をかけて天井をみつめた。知識やツールの必要なSQLインジェクションや通信内容の解析なんかではなく、ただブラウザ上で右クリックして『ページのソースを表示』するだけでよかったとは。
二海は大きく息をついて身体を起こし、『comment_is_not_protected』のフラグを送信した後で、チャットに書き込んだ。
『一問目終わったよ!』
ほどなくして、ゆあんからはサムズアップの絵文字を三つ、桃からは『すごい!私も今一問目解けたよ♪この勢いで二問目もいこう!』と返ってきた。我知らず二海の顔はほころんだ。緑茶を一口飲み、二海は次の問題に取り掛かった。
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます