R6 春 午後 問3 設問1 (2) XSSについて

kayuさん  
(No.1)
模範解答は管理者にわなリンクを踏ませてcookieを取得し、管理者アカウントでログインするという趣旨の内容でしたが、私は以下の通り解答しました。

会員管理機能にアクセスして全会員の利用者情報を取得し攻撃者のサーバに送信するスクリプトを問い合わせ機能のnameパラメータに含めて送信する。管理者が問い合わせ管理機能で当該問い合わせを開くと管理者用アカウントで上記スクリプトが実行される。

私の解答はcookieを利用した管理者アカウントへのログインではなく管理者が問い合わせ管理機能にアクセスすることで実現する格納型XSSを利用した解答ですが、別解として認められる可能性はありますか。
もちろんSESSIONIDに値とSecure属性だけがセットされるとわざわざ書いている以上cookieを取得するという模範解答が妥当であることは理解しているのですが、私の解答の手法でも実現可能性があると考えて質問させていただきました。
2024.09.19 11:02
むぐむぐさん 
(No.2)
別解と認められる可能性は低いと思います。
理由としては、会員情報を取得するスクリプトを作成することが難しく、攻撃を行うことができないと考えるためです。

攻撃者の視点では管理機能へアクセスできず、サイトの構造がわかりません。
そのため会員情報を取得するためのパスや、必要なパラメータ名、値などの情報がわかりません。
また、会員情報へのアクセスに推測不可能な値が必要な場合も考えられます。

よって攻撃の実現性が低いため別解とはなり得ないと考えます。
2024.09.19 13:02
こんな感じかなぁさん 
(No.3)
えーと、先に模範解答から考えてみますね。模範解答は、わなリンク(攻撃者が作ったリンク)を管理者に踏ませて、管理者の「クッキー(cookie)」という情報を盗むという攻撃手法です。クッキーには、管理者がログインしている情報(セッションID)が入っている場合があり、これを盗むことで、攻撃者が管理者のフリをしてログインできます。なので、管理者が攻撃者のリンクをクリックすると、クッキーが盗まれてしまい、攻撃者がログインできるというシンプルな流れです。

kayuサンの解答では、問い合わせ機能の「name」という部分に悪いプログラム(スクリプト)を仕込んで送信します。このスクリプトは、管理者が問い合わせ管理画面を開いたときに実行され、会員情報を攻撃者のサーバーに送るという流れです。なのでなので、管理者が問い合わせを開いた瞬間にそのスクリプトが動いて、攻撃者が会員情報を盗むことができるようになるという手法です。

二つの解答の違い
模範解答:管理者のクッキー(ログイン情報)を盗んで、攻撃者が管理者としてログインできるようにする。
kayuサンの解答:管理者が問い合わせを開くことで、会員情報が攻撃者のところに送られる。
どちらもXSSという技術を使っている点では同じですが、目的と手段が少し違います。

別解として認められる可能性はわかりませんが。。
kayuサンの解答は、模範解答とは異なる方法ですが、XSS(格納型XSS)という同じ攻撃手法を使っているため、実現可能な攻撃方法です。模範解答がクッキーの盗難を目的としているのに対し、kayuサンの解答は会員情報の取得を目的にしていますが、実際にはどちらも攻撃として成立します。

問題文で「クッキーを盗む」ということに特にフォーカスしているなら、模範解答の方が妥当と見なされる可能性は高いですが、XSSを利用した攻撃としては、kayuサンの解答も技術的には正しい手法です。

kayuサンの解答も別解として認められる可能性よりも重要なのは、どうしてその手法が有効なのかを説明できるかどうかです。
2024.09.19 23:58
kayuさん  
(No.4)
むぐむぐさん、こんな感じかなぁさん、ご回答ありがとうございます。
両者のご回答を踏まえると、私の解答した手法は技術的に実現不可能とは言えないが攻撃者がサイトの構造を知ることができない以上実現可能性は低いということで理解ができました。
2024.09.20 12:44

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの投稿はできません。

その他のスレッド


Pagetop