【新規投稿】「4.6 セッション管理の不備 」について

84 views
Skip to first unread message

OK

unread,
Jul 1, 2025, 10:59:29 AMJul 1
to 「体系的に学ぶ 安全なWebアプリケーションの作り方」サポートML
徳丸様、いつもお世話になっております。
大量の投稿でお騒がせして大変申し訳ありません。
(この投稿もSPAM判定されているのでしょうか。。)

改めて下記の画像にて3点質問させて頂きます。
(黄色の吹き出し)

お手数をおかけしますが何卒よろしくお願い致します。
スライド1.JPG
スライド2.JPG

徳丸浩

unread,
Jul 3, 2025, 9:16:29 AMJul 3
to wasbook...@googlegroups.com
徳丸です。こんにちは。

【質問①】について
『「被害者の操作」の検証』というと、検証の語が引っかかりますが、要するに「被害を受ける様子の再現」ですね。

【質問②】について
既にセッション変数には代入されています。46-020.phpの「確認」ボタンを押すと、46-021.phpに遷移して、その先頭でセッション変数に代入しています。

【質問③】について
攻撃者の操作であっています



2025年7月1日(火) 23:59 OK <cs00...@gmail.com>:
--
このメールは Google グループのグループ「「体系的に学ぶ 安全なWebアプリケーションの作り方」サポートML」に登録しているユーザーに送られています。
このグループから退会し、グループからのメールの配信を停止するには wasbook-reade...@googlegroups.com にメールを送信してください。
このディスカッションを表示するには、https://groups.google.com/d/msgid/wasbook-readers/be003f3b-29de-4849-a958-c1465368d35bn%40googlegroups.com にアクセスしてください。


--

OK

unread,
Jul 3, 2025, 11:42:42 AMJul 3
to 「体系的に学ぶ 安全なWebアプリケーションの作り方」サポートML
徳丸様、いつもお世話になっております。
ご回答ありがとうございます。

この検証内容では、[確認]ボタンをクリックしない前提と思ってますが合っておりますでしょうか。
利用者がユーザIDなどを入力すると、攻撃者が別のWEBブラウザでユーザIDなどの利用者の入力内容に限り盗める内容と思っております。
下記の画像にて2点質問させて頂きます。
(黄色の吹き出し)

お手数をおかけしますが何卒よろしくお願い致します

2025年7月3日木曜日 22:16:29 UTC+9 徳丸浩:
セッション管理の不備.pdf

徳丸浩

unread,
Jul 3, 2025, 6:41:12 PMJul 3
to wasbook...@googlegroups.com
徳丸です。こんにちは。

> この検証内容では、[確認]ボタンをクリックしない前提と思ってますが合っておりますでしょうか。

いいえ、「確認」ボタンはクリックする前提です。


2025年7月4日(金) 0:42 OK <cs00...@gmail.com>:
このディスカッションを表示するには、https://groups.google.com/d/msgid/wasbook-readers/6742efc9-3b30-42a0-af7f-d3a26c5d485dn%40googlegroups.com にアクセスしてください。


--

OK

unread,
Jul 3, 2025, 11:02:16 PMJul 3
to 「体系的に学ぶ 安全なWebアプリケーションの作り方」サポートML
徳丸様、いつもお世話になっております。
ご回答ありがとうございます。

今回の検証は「7.ログイン前のセッションIDの固定化(情報の盗み出し)」ですが、自分が下記と勘違いしているもしれません。。
【[確定]ボタンをクリックするとログインする。】

【質問①】
今回の検証内容にて、「ログインされる」タイミングはどのボタンをクリックしたときでしょうか。
自分は今[登録]ボタンではないかと思っております。
ですので、[確認]ボタンクリック時はログイン前であり、
この段階でセッション変数にユーザIDなどが代入され、攻撃者がユーザIDなどを盗めたと思いました。

【質問②】
昨日自分がお送りした画像の手順にて、「④ユーザIDとメールアドレス入力」のあとに「⑤確認ボタンをクリック」が実行される認識でよろしいでしょうか。

【質問③】
「2.セッションIDの固定化(正常系)」のログインのタイミングは、「463/46-010.php」の[ログイン]ボタンがクリックされた時、の認識でよろしいでしょうか。
(ボタン内に「ログイン」と記載されてますのでその認識です。)

検証内容によって、ログインのタイミングが異なるということか、、という観点で迷ってしまいました。もしかしたら質問が有効でないかもしれませんので、ご指摘頂ければ嬉しいです。
お忙しい所恐れ入りますが、何卒ご回答のほどよろしくお願い致します。

2025年7月4日金曜日 7:41:12 UTC+9 徳丸浩:

徳丸浩

unread,
Jul 3, 2025, 11:59:08 PMJul 3
to wasbook...@googlegroups.com
徳丸です。こんにちは。

「ログイン『前』」という表現が紛らわしいのかもしれませんが、ログインのことは忘れて下さい。ログインしなくてもセッション変数の情報が漏れるという意味です。

2025年7月4日(金) 12:02 OK <cs00...@gmail.com>:
このディスカッションを表示するには、https://groups.google.com/d/msgid/wasbook-readers/90929fb0-4a79-4f86-87b1-fdfd4f1a2573n%40googlegroups.com にアクセスしてください。


--

OK

unread,
Jul 4, 2025, 4:44:18 AMJul 4
to 「体系的に学ぶ 安全なWebアプリケーションの作り方」サポートML
徳丸様、いつもお世話になっております。
ご回答ありがとうございます。

ちょっとあやふやな部分もありますが以前より理解できたと思います。
「7.ログイン前のセッションIDの固定化(情報の盗み出し)」では、どのタイミングでログインされたかは関係なく、セッションID(ABC)に紐づくセッション変数に値が保存されていれば、攻撃者はいつでも入力内容を盗めるという意味ですね。

引き続き勉強を続けます。
今後ともよろしくお願い致します。

2025年7月4日金曜日 12:59:08 UTC+9 徳丸浩:

OK

unread,
Jul 5, 2025, 4:13:56 AMJul 5
to 「体系的に学ぶ 安全なWebアプリケーションの作り方」サポートML

徳丸様、いつもお世話になっております。
すみませんが、下記の点だけどうしても理解できませんのでご教示頂けませんでしょうか。

書籍P.225の文面
「利用者が個人情報を入力した時点で、下図の通り攻撃者のブラウザにも個人情報が表示されます。」

個人情報を入力した時点では、個人情報はまだセッション変数に保存されていないため、攻撃者のブラウザに個人情報は表示されないのでは?という疑問です。

以前の質問やご回答と重複してしまうかもしれず大変申し訳ありません。
お忙しいところ恐れ入りますが、何卒ご回答のほどよろしくお願い致します。
2025年7月4日金曜日 17:44:18 UTC+9 OK:

徳丸浩

unread,
Jul 5, 2025, 4:58:25 AMJul 5
to wasbook...@googlegroups.com
徳丸です。こんにちは。

はい、個人情報をテキストボックスに入力した時点ではそうですね。ここはテキストボックスに入力して確認などのボタンを押すことを「個人情報を入力」と表現しています。その点で言えば、攻撃者のブラウザに表示されるタイミングもリロード等をしたタイミングです。

元のテキストはこう書いてあります。

>  一方、攻撃者は、先のURLのページを定期的に監視します。利用者が個人情報を入力した
> 時点で、下図の通り攻撃者のブラウザにも個人情報が表示されます。

攻撃者は定期的にリロードするなどして監視している。そして個人情報が表示されるのがいつかという説明が続くわけですが、利用者が個人情報を入力して確認ボタンを押したときですが、ボタンを押すことは自明なこととして省略しています。



2025年7月5日(土) 17:14 OK <cs00...@gmail.com>:
このディスカッションを表示するには、https://groups.google.com/d/msgid/wasbook-readers/0228a1a1-bf7c-438d-8bec-11d254f4d19fn%40googlegroups.com にアクセスしてください。


--

OK

unread,
Jul 6, 2025, 12:45:08 AMJul 6
to 「体系的に学ぶ 安全なWebアプリケーションの作り方」サポートML
徳丸様、いつもお世話になっております。
ご回答ありがとうございます。理解できました。
自分の察しが悪く大変申し訳ありません。

引き続き勉強を続けます。
今後ともよろしくお願い致します。

2025年7月5日土曜日 17:58:25 UTC+9 徳丸浩:

OK

unread,
Jul 14, 2025, 12:58:25 PMJul 14
to 「体系的に学ぶ 安全なWebアプリケーションの作り方」サポートML
徳丸様、いつもお世話になっております。
「9.セッションIDの固定化対策版(攻撃)」について質問があります。
P.6に質問事項(黄色の吹き出し)を記載致しましたので、ご回答頂けますでしょうか。

お忙しい所恐れ入りますが、何卒よろしくお願い致します。

2025年7月6日日曜日 13:45:08 UTC+9 OK:
セッション管理の不備.pdf

徳丸浩

unread,
Jul 15, 2025, 8:52:19 AMJul 15
to wasbook...@googlegroups.com
徳丸です。こんにちは。

>【質問】本検証では、攻撃者がどのWEBサイトを監視している前提でしょうか。
>「463/46-010a.php」はセッション変数呼び出しがないので、
>「463/46-020.php」を監視するということでしょうか。

いいえ、46-010a.phpから46-011a.phpでログイン処理をした後、46-012.php(これは脆弱版と共通)で
個人情報を表示しているわけで、攻撃者もこれを監視しているという前提です。



2025年7月15日(火) 1:58 OK <cs00...@gmail.com>:
このディスカッションを表示するには、https://groups.google.com/d/msgid/wasbook-readers/7e1f5e1f-401d-45de-908b-f558a3f9ae35n%40googlegroups.com にアクセスしてください。


--

OK

unread,
Jul 15, 2025, 1:01:15 PMJul 15
to 「体系的に学ぶ 安全なWebアプリケーションの作り方」サポートML
徳丸様、いつもお世話になっております。
ご回答ありがとうございます。
「46-012.php」ではセッション変数を呼び出してますので、攻撃者はこれを監視するのですね。ありがとうございます。

度々の質問で恐縮ですが、添付ファイルのP.6に質問を1点(黄色の吹き出し)記載致しましたのでご回答頂けますでしょうか。
[SID①]→[ABC]
[SID②]→[再生成されたセッションID]
を指します。

お忙しい所恐れ入りますが、何卒よろしくお願い致します。

2025年7月15日火曜日 21:52:19 UTC+9 徳丸浩:
セッション管理の不備.pdf

徳丸浩

unread,
Jul 16, 2025, 10:25:53 AMJul 16
to wasbook...@googlegroups.com
徳丸です。こんにちは。

一つ確認ですが、攻撃側は、利用者とは別のブラウザで、「4.46-012:セッションIDの固定化(情報の盗み出し)」を監視するという前提ですが、そのようにしていますか?


2025年7月16日(水) 2:01 OK <cs00...@gmail.com>:
このディスカッションを表示するには、https://groups.google.com/d/msgid/wasbook-readers/8fb5e2fa-8471-429b-b696-f15be078b89fn%40googlegroups.com にアクセスしてください。


--

OK

unread,
Jul 16, 2025, 10:42:48 AMJul 16
to 「体系的に学ぶ 安全なWebアプリケーションの作り方」サポートML
徳丸様、いつもお世話になっております。
ご連絡ありがとうございます。

> 攻撃側は、利用者とは別のブラウザで、
→はい、利用者とは別のブラウザ(Firefox)を開いております。

>「4.46-012:セッションIDの固定化(情報の盗み出し)」を監視するという前提ですが、そのようにしていますか?
→別のブラウザにて「4.46-012:セッションIDの固定化(情報の盗み出し)」をクリックしたら、
 質問の事象が発生しました。

お忙しい所恐れ入りますが、何卒よろしくお願い致します。

2025年7月16日水曜日 23:25:53 UTC+9 徳丸浩:

OK

unread,
Jul 21, 2025, 12:13:44 PMJul 21
to 「体系的に学ぶ 安全なWebアプリケーションの作り方」サポートML
徳丸様、いつもお世話になっております。
度々の連絡で申し訳ありません。
少し情報を追加致しましたので、再度質問させて頂きます。

【質問①】
添付ファイルのP.8にて、質問を記載致しました。
何卒ご回答の程よろしくお願い致します。

下記は、「10.セッションIDの固定化トークンによる対策版」の検証内容についての質問です。

【質問②】
攻撃者は常に「http://example.jp/463/46-016.php」を監視しており、「認証エラー」になることを検証する、という認識でよろしいでしょうか。

【質問③】
【質問②】が正の場合、攻撃者のWEBブラウザ側にセッションIDとトークンが記録されてしまい、意図通りに検証できません。
Firefoxなど、検証ソフトのバージョンアップによって意図通りに動作しない、等の情報はございませんでしょうか。

お忙しい所恐れ入りますが、何卒よろしくお願い致します。

2025年7月16日水曜日 23:42:48 UTC+9 OK:
セッション管理の不備.pdf

徳丸浩

unread,
Jul 22, 2025, 8:59:58 AMJul 22
to wasbook...@googlegroups.com
徳丸です。こんにちは。

> 【質問①】
>  SID再生成関数によってSID1は削除される認識ですが、SID2に紐づくセッション変数を取得できるのはなぜでしょうか。

何度か再現テストをやってみて、おそらくこれが原因かなというのがわかりました。サンプルスクリプトは正しくセッション情報を削除していますが、実験の前にCookieを削除し忘れていると、PHPSESSID=ABC以外のセッションIDがCookieに残っている場合があり、その場合は、PHPSESSID=ABCのセッションが削除されません。
このため、被害者・攻撃者ともに、毎回必ずCookieを削除してから実験してみてください。

> 下記は、「10.セッションIDの固定化トークンによる対策版」の検証内容についての質問です。
> 【質問②】攻撃者は常に「http://example.jp/463/46-016.php」を監視しており、「認証エラー」になることを検証する、という認識でよろしいでしょうか。

こちらは対策版のみが記載されていて、攻撃が成功する脆弱版が省略されていますので、その前提でお読みください。

>【質問③】
> 【質問②】が正の場合、攻撃者のWEBブラウザ側にセッションIDとトークンが記録されてしまい、意図通りに検証できません。
> Firefoxなど、検証ソフトのバージョンアップによって意図通りに動作しない、等の情報はございませんでしょうか。

質問②と同様です。


2025年7月22日(火) 1:13 OK <cs00...@gmail.com>:
このディスカッションを表示するには、https://groups.google.com/d/msgid/wasbook-readers/534d5425-0b29-4a73-807a-22d4820700f8n%40googlegroups.com にアクセスしてください。


--

OK

unread,
Jul 23, 2025, 12:10:18 PMJul 23
to 「体系的に学ぶ 安全なWebアプリケーションの作り方」サポートML
徳丸様、いつもお世話になっております。
調査および回答頂きありがとうございます。

添付ファイルのP.8~9にてご回答頂いた内容を検証してみましたが、
同じ事象が発生し困っております。
利用者と攻撃者のWEBブラウザが同じタイミングでCookieを保存しているため、
同じものと認識されている様子です。
攻撃者のWEBブラウザを開くときは、何も考えず
WEBブラウザのアイコンを「右クリック」→「Firefox」を左クリック
で問題ないでしょうか。

度々の質問で大変恐縮ですが、何卒よろしくお願い致します。

2025年7月22日火曜日 21:59:58 UTC+9 徳丸浩:
セッション管理の不備.pdf

徳丸浩

unread,
Jul 23, 2025, 6:41:20 PMJul 23
to wasbook...@googlegroups.com
徳丸です。こんにちは。

被害者と攻撃者が同じCookieを共有するという状況は、アプリケーション脆弱性がなくても同じセッションを共有することになり、通常はありえないことです。スライドを拝見すると、どちらもFirefoxを使っているので、それが原因ではないでしょうか。書籍では、FirefoxとChromeを使うようにお勧めしていたかと思います。

あるいは、同じFirefoxを使う場合でも、片方をプラベートブラウザで開いても実験は可能です。プライベートブラウザの使い方はご自身で調べて下さい。



2025年7月24日(木) 1:10 OK <cs00...@gmail.com>:
このディスカッションを表示するには、https://groups.google.com/d/msgid/wasbook-readers/d503321d-68c0-46bf-86e8-254a8079f42dn%40googlegroups.com にアクセスしてください。


--

OK

unread,
Aug 3, 2025, 12:17:49 PMAug 3
to 「体系的に学ぶ 安全なWebアプリケーションの作り方」サポートML
徳丸様、いつもお世話になっております。
ご回答ありがとうございます。
利用者も攻撃者もFirefoxを使っておりましたので、私の検証方法が間違っておりました。
大変失礼致しました。

書籍の通り、異なるWEBブラウザ(Chrome)からアクセスしたら、
セッションIDやトークンが見えませんでしたので、意図通りに動作しております。


追加の質問で恐縮ですが、下記にて質問させて頂けますでしょうか。

以下のように記載致します。
9.セッションIDの固定化対策版(攻撃) :検証⑨
10.セッションIDの固定化トークンによる対策版 :検証⑩


> 下記は、「10.セッションIDの固定化トークンによる対策版」の検証内容についての質問です。
> 【質問②】攻撃者は常に「http://example.jp/463/46-016.php」を監視しており、「認証エラー」になることを検証する、という認識でよろしいでしょうか。

>こちらは対策版のみが記載されていて、攻撃が成功する脆弱版が省略されていますので、その前提でお読みください。

【質問①】
→ご回答内の「攻撃が成功する脆弱版」とは、検証⑨を指しますでしょうか。
 検証⑨は対策版のため、認識が違っていると思っております。
 どの検証内容を指すのかご教示頂けませんでしょうか。




2025年7月24日木曜日 7:41:20 UTC+9 徳丸浩:

徳丸浩

unread,
Aug 4, 2025, 6:56:38 AMAug 4
to wasbook...@googlegroups.com
徳丸です。こんにちは。

ChromeとFirefoxでの検証ができたようでよかったです。

>【質問①】
> →ご回答内の「攻撃が成功する脆弱版」とは、検証⑨を指しますでしょうか。
> 検証⑨は対策版のため、認識が違っていると思っております。
> どの検証内容を指すのかご教示頂けませんでしょうか。

私は「攻撃が成功する脆弱版が省略されています」と書きました。省略されている、すなわち「ない」ということですので、対応する検証内容もありません。


2025年8月4日(月) 1:17 OK <cs00...@gmail.com>:
このディスカッションを表示するには、https://groups.google.com/d/msgid/wasbook-readers/db359063-aa90-4574-9f98-7607e24d1dden%40googlegroups.com にアクセスしてください。


--

OK

unread,
Aug 4, 2025, 10:57:19 AMAug 4
to 「体系的に学ぶ 安全なWebアプリケーションの作り方」サポートML
徳丸様、いつもお世話になっております。
ご回答ありがとうございます。
攻撃が成功する脆弱性が省略されているかつ、そのような検証環境はない旨、
理解致しました。

引き続き学習を進めます。
今後ともよろしくお願い致します。

2025年8月4日月曜日 19:56:38 UTC+9 徳丸浩:
Reply all
Reply to author
Forward
0 new messages