解析

 さて、BigBrotherの管理画面は、デスクトップアプリ版とWeb版があります。Web版はあくまでもオプション機能という位置づけのため、デスクトップアプリ版に比べると機能は限られています。しかし、クロスサイトリクエストフォージェリのターゲットにするならWeb版しかありません。


 さて、まずは一般ユーザーでログインしてみます。


――アクセス権限がありません


 ログイン自体はできても何も出来ないようですね。そうなると、BigBrotherの管理者権限を持つ人が罠を踏むようにしなければならないということになりますね。少し考えてみなければ……。


 今度は管理ユーザーでログインしてみます。人事部の一部のユーザーと、システム課の全員が管理ユーザーとなっています。


 今度は、メニュー画面が表示されます。


 この画面には、操作ログ、インストールされたアプリの一覧、送受信メールの一覧、サボった時間の記録などを閲覧する機能があります。Web版は基本的にこうした情報を参照するだけです。 


 一応、メッセージの送信を行うことは可能です。例えば、サボっている人に対して「サボってないで働け」というメッセージを送るといった使い方を想定した機能のようですね。


 権限設定を行えば、一般ユーザーにも部下の監視を行えるようになるようですが、私がいたときはそういう使い方はしていませんでした。



 さて、ここでF12キーを押します。ブラウザの開発者コンソールを開くためです。そして、要素のツリーを展開しながら見ていきます。


「確かに、アンチフォージェリトークンがないですね」


 振り返ると、私の背後で、二人が目を点にしていました。


「アンチフォージェリトークン?」

「クロスサイトリクエストフォージェリの対策の一つですね。偽造防止の合言葉といえば分かりやすいでしょうか」

「なるほど、完全に理解した」


 高槻さんは、得意げに高笑いしますが、額に汗が伝っています。


「さすが、理解が早くて助かります」


 私が説明を切り上げるそぶりを見せると、高槻さんは困惑の表情を浮かべます。


「ぐ……」


 やはりこの人はからかうぐらいがちょうど面白いですね。


「原理は簡単ですよ。例えば、高槻さんは一応、今大学生ですよね」

「そうだけど、一応ってどういうこと」

「授業の出欠確認システムってありませんでした?」

「あるけど」

「授業サボったとき、別の場所に居ながらにして、そのシステムに嘘の出席登録したことありませんか?」

「そんなお金の無駄遣いするわけないじゃない」

「建前はどうでもいいんですよ」

「……無理。だって、授業中に言われた合言葉を入力しないといけないシステムだし。教えてくれる友達もいないし……」


 またコメントしづらいことを……。


「つまり、偽造された出席登録を見抜くには合言葉を使うのが一つの方法なんです。スパイがいるか、まぐれ当たりしない限り、偽の出席登録はできません」

「なるほどね」

「例えば、別のウェブサイトだと、きちんとそういうことをやってるんですよ」


 私は関係のないウェブサイトのページを開き、F12キーで開発者ツールを表示させます。要素のツリーを展開していき、以下のコードにたどり着きました。


> <input name="__RequestVerificationToken" type="hidden" value="ZxiMIwnOJXjIEJhuc_9AenjMUPniaK" />


「このvalueの値がアンチフォージェリトークンです。サーバーがページ内容を出力するとき、こういう風にランダムなトークン、つまり合言葉を正当な入力フォームの隠しフィールドに仕込んでおくわけです。ユーザーが入力フォームを送信する際に、サーバーに対してこのトークンが一緒に送信されます」

「サーバーは、ページ内容を出力した時のトークンと受信したトークンを照合すれば良いということ?」

「そうなります」



 再び、BigBrotherのWebページを開き、F12キーで開発者ツールを開きます。formタグ内の要素をすべて展開しますが――。


「BigBrotherにはトークンらしきものがないってわけ」

「そうです。だから、クロスサイトリクエストフォージェリの脆弱性があるんでしょうね。ざっと見る限り、他の画面にもありませんから、どの画面でも遠隔操作できる可能性があります。安否確認システムのクロスサイトスクリプティングの脆弱性を介して」

「それで何ができるの?」

「メッセージ送信ですね」

「それだけ?」

「それだけです」


 もしBigBrotherの方にもクロスサイトスクリプティングの脆弱性があれば、情報を盗めるかもしれないのですが、クロスサイトリクエストフォージェリだけでは難しいのです。



「でも、ものは使いようですよ」

  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る