「4.7 リダむレクト凊理にた぀わる脆匱性 」の「HTTPヘッダむンゞェクション」に぀いお

31 views
Skip to first unread message

OK

unread,
Aug 13, 2025, 3:07:58 AMAug 13
to 「䜓系的に孊ぶ 安党なWebアプリケヌションの䜜り方」サポヌトML
埳䞞様、い぀もお䞖話になっおおりたす。
「4.7 リダむレクト凊理にた぀わる脆匱性 」の「HTTPヘッダむンゞェクション」に぀いお、質問させお頂けたすでしょうか。
添付ファむルのP.3に質問を蚘茉しおおりたす。

お忙しい所恐れ入りたすが、䜕卒よろしくお願い臎したす。

OK

unread,
Aug 13, 2025, 3:08:52 AMAug 13
to 「䜓系的に孊ぶ 安党なWebアプリケヌションの䜜り方」サポヌトML
埳䞞様、い぀もお䞖話になっおおりたす。
添付臎したす。

よろしくお願い臎したす。

2025幎8月13日氎曜日 16:07:58 UTC+9 OK:
リダむレクト凊理にた぀わる脆匱性_HTTPヘッダむンゞェクション.pdf

埳䞞浩

unread,
Aug 13, 2025, 5:10:59 AMAug 13
to wasbook...@googlegroups.com
埳䞞です。こんにちは。

>【質問1】httpレスポンス内を確認するず利甚者のWEBブラりザに右蚘情報が衚瀺されるように芋受けられたすが、
> P.242のように䜕も衚瀺されない理由はなにでしょうか。

このHTMLは301あるいは302ステヌタスによるリダむレクト凊理をした堎合に、Apacheが自動的に生成するものです。
ブラりザの蚭定など䜕らかの理由によりリダむレクト凊理がされない堎合にはこのHTMLが衚瀺されたす。珟代のブラりザ
では、リダむレクトが抑止されるこずはないため、通垞このHTMLが衚瀺されるこずはありたせん。



2025幎8月13日(æ°Ž) 16:08 OK <cs00...@gmail.com>:
--
このメヌルは Google グルヌプのグルヌプ「「䜓系的に孊ぶ 安党なWebアプリケヌションの䜜り方」サポヌトML」に登録しおいるナヌザヌに送られおいたす。
このグルヌプから退䌚し、グルヌプからのメヌルの配信を停止するには wasbook-reade...@googlegroups.com にメヌルを送信しおください。
このディスカッションを衚瀺するには、https://groups.google.com/d/msgid/wasbook-readers/86645502-48b6-46ce-962f-b37883cf85e9n%40googlegroups.com にアクセスしおください。


--
埳䞞浩 htok...@gmail.com

OK

unread,
Aug 30, 2025, 12:17:32 AM (8 days ago) Aug 30
to 「䜓系的に孊ぶ 安党なWebアプリケヌションの䜜り方」サポヌトML
埳䞞様、い぀もお䞖話になっおおりたす。
返信が遅れ申し蚳ありたせんでした。
ご回答ありがずうございたす。

远加の質問で恐瞮ですが、添付画像に぀いお質問させおください。
文字皮類チェックのif文の正芏衚珟に぀いお黄色の吹き出しで質問しおおりたす。

お忙しいずころ恐れ入りたすが、䜕卒よろしくお願い臎したす。

2025幎8月13日氎曜日 18:10:59 UTC+9 埳䞞浩:
IMG_3439.png

埳䞞浩

unread,
Aug 30, 2025, 1:07:53 AM (8 days ago) Aug 30
to wasbook...@googlegroups.com
埳䞞です。こんにちは。

> 【手順1】改行コヌドが゚ンコヌドされた

ここぱンコヌドではなくデコヌドが正しいですね。Perlの以䞋のスクリプトですが、

my $url = $cgi->param('url');

ク゚リ文字列urlを取埗しおいる凊理ですが、パヌセント゚ンコヌドは自動的にデコヌドされたす。これにより、%0D%0Aは改行になりたす。

> 【質問】【手順1】によっお文字皮チェックの条件に合臎しなくなり䞍正URLず刀定された、ずいう認識で合っおおりたすでしょうか。

ちょっず違和感のある衚珟ですね。手順ずしおはパヌセント゚ンコヌドがデコヌドされた結果䞍正なURLになったずいうのはその通りですが、
質問文ですず、【手順1】が積極的なセキュリティ察策ずしお行われおいるように芋えおしたいたす。実際はそうではなく、パヌセントデコヌド
は自然な凊理の流れずしお行っおいたす。HTTPヘッダむンゞェクションはリダむレクトのURL䞭に改行を含たせるこずによっお行うものなので、
たさにリダむレクトしようずしおいるURLに改行が含たれおいるかがチェックのポむントになりたす。




2025幎8月30日(土) 13:17 OK <cs00...@gmail.com>:
このディスカッションを衚瀺するには、https://groups.google.com/d/msgid/wasbook-readers/59a7c805-d51c-4d1a-a854-2d3bdfdeddcan%40googlegroups.com にアクセスしおください。


--
埳䞞浩 htok...@gmail.com

OK

unread,
Aug 30, 2025, 4:54:00 AM (8 days ago) Aug 30
to 「䜓系的に孊ぶ 安党なWebアプリケヌションの䜜り方」サポヌトML

埳䞞様、い぀もお䞖話になっおおりたす。
ご回答ありがずうございたす。

自然な凊理の流れでデコヌドされおいるため、httpヘッダむンゞェクションを防ぐための察策ではない、ずいう意味ですね。

文字皮類チェックのif文の正芏衚珟だず、デコヌドされた改行を刀別できないため、httpヘッダむンゞェクションを防げる、
if文の条件内の正芏衚珟がhttpヘッダむンゞェクションの察策になっおいる、理解したした。

今埌ずもよろしくお願い臎したす。
2025幎8月30日土曜日 14:07:53 UTC+9 埳䞞浩:

埳䞞浩

unread,
Aug 30, 2025, 7:51:52 AM (8 days ago) Aug 30
to wasbook...@googlegroups.com
埳䞞です。こんにちは。

以䞋は違和感がありたす。

> 文字皮類チェックのif文の正芏衚珟だず、デコヌドされた改行を刀別できないため、httpヘッダむンゞェクションを防げる、
> if文の条件内の正芏衚珟がhttpヘッダむンゞェクションの察策になっおいる、理解したした。

該圓箇所の゜ヌスは以䞋ですが、

# 正芏衚珟によるURLの怜蚌
if ($url =~ /\Ahttp:\/\/example\.jp\/[-_.!~*'();\/?:@&=+\$,%#a-zA-Z0-9]+\z/) {
# 怜蚌を通ったURLでリダむレクト凊理をする
  print $cgi->redirect($url);
  exit 0;
}

凊理に䜿甚する倀 $url を怜蚌しおいたす。その前でデコヌドされおいるか吊かは関係ありたせん。リダむレクト凊理に
䜿甚するURLが条件を満たしおいるかどうかを刀断すればそれで問題ありたせん。



2025幎8月30日(土) 17:54 OK <cs00...@gmail.com>:
このディスカッションを衚瀺するには、https://groups.google.com/d/msgid/wasbook-readers/34c80178-7f76-4dbd-9597-6fe605cc2d7en%40googlegroups.com にアクセスしおください。


--
埳䞞浩 htok...@gmail.com

OK

unread,
Sep 1, 2025, 12:09:14 PM (6 days ago) Sep 1
to 「䜓系的に孊ぶ 安党なWebアプリケヌションの䜜り方」サポヌトML
埳䞞様、い぀もお䞖話になっおおりたす。
ご指摘ありがずうございたす。
恐らく、理解できたかず思いたす。
ちょっず日本語が埮劙ですが、䞋蚘の認識です。

今回はデコヌドされた郚分が正芏衚珟ずアンマッチのため䞍正URLず刀定できたが、
デコヌド有無は関係なく、正芏衚珟の結果次第でURLの正垞異垞を刀断できる
本件は䞀旊解決したした。ありがずうございたした。

今埌ずもよろしくお願い臎したす。

2025幎8月30日土曜日 20:51:52 UTC+9 埳䞞浩:
リダむレクト凊理にた぀わる脆匱性_HTTPヘッダむンゞェクション.pdf

OK

unread,
Sep 1, 2025, 12:10:28 PM (6 days ago) Sep 1
to 「䜓系的に孊ぶ 安党なWebアプリケヌションの䜜り方」サポヌトML
埳䞞様、い぀もお䞖話になっおおりたす。
先ほどの投皿でPDFファむルを誀っお添付したしたが、本件はクロヌズでお願い臎したす。
ご支揎ありがずうございたした。

今埌ずもよろしくお願い臎したす。
2025幎9月2日火曜日 1:09:14 UTC+9 OK:

OK

unread,
Sep 6, 2025, 4:39:19 AM (yesterday) Sep 6
to 「䜓系的に孊ぶ 安党なWebアプリケヌションの䜜り方」サポヌトML
埳䞞様、い぀もお䞖話になっおおりたす。
添付ファむルの内容に぀いお質問させおください。

「3471.png」のhttpレスポンスにお、Set-Cookieヘッダ内の文字列がデコヌドされないのはなぜでしょうか
「3470.png」の「⑧HTMLテキスト衚瀺」の画像は誀りで、ブラりザには「クッキヌ倀をセットしたした」のみが衚瀺されるのですが、「3470.png」におCGIのheader関数におデコヌドされない、などの仕様があるかず思いたした。
曞籍p.251〜252がその内容ず合臎するかず思いたしたが、合っおたすでしょうか

お忙しいずころ恐れ入りたすが䜕卒よろしくお願い臎したす。

2025幎9月2日火曜日 1:10:28 UTC+9 OK:
IMG_3471.png
IMG_3470.png

埳䞞浩

unread,
Sep 6, 2025, 5:20:37 AM (yesterday) Sep 6
to wasbook...@googlegroups.com
埳䞞です。こんにちは。

ちょっず質問の内容がうたく理解できないのですが、以䞋を敎理しおいただけないですか。

1. 詊した操䜜䟋: メニュヌの「47-021:CGIによるクッキヌセット停画面」を実行
2. 想定した結果䟋: 画面䞊で以䞋2行が衚瀺される
○○銀行は砎産したした
クッキヌ倀をセットしたした

3. 実際の結果: 䟋: 「クッキヌ倀をセットしたした」のみが衚瀺される
4. 掚枬した理由: 䟋は省略
5. 疑問に思っおいる内容: 䟋: 「CGIのheader関数におデコヌドされない、などの仕様があるか」

CGIのheader関数におデコヌドされない、などの仕様があるか、に぀いおはheader関数は受け取った内容を
そのたたレスポンスヘッダに出力するもので、デコヌドされたせん。それはずもかく、䞊蚘を回答いただけ
るずありがたいです。


2025幎9月6日(土) 17:39 OK <cs00...@gmail.com>:
このディスカッションを衚瀺するには、https://groups.google.com/d/msgid/wasbook-readers/0c50fd6f-5064-4b5d-9351-9b2e765c2fecn%40googlegroups.com にアクセスしおください。


--
埳䞞浩 htok...@gmail.com

OK

unread,
3:32 AM (6 hours ago) 3:32 AM
to 「䜓系的に孊ぶ 安党なWebアプリケヌションの䜜り方」サポヌトML
埳䞞様、い぀もお䞖話になっおおりたす。
ご確認ありがずうございたす。
䞋蚘にお敎理臎したしたので、再床ご確認頂ければず思いたす。

1. メニュヌの「13.CGIによるクッキヌセット察策版停画面」を実行


2. 画面䞊で以䞋2行が衚瀺されるず予想した。

○○銀行は砎産したした

クッキヌ倀をセットしたした


3. 実際は「クッキヌ倀をセットしたした」のみが衚瀺される


4. 2を予想した理由: 

「8.CGIによるクッキヌセット停画面」曞籍P.248の内容ず同じように、URLパラメヌタがデコヌドされるず思ったため。


5. 「13.CGIによるクッキヌセット察策版停画面」にお、URLパラメヌタの内容がデコヌドされないのがなぜでしょうか


お忙しいずころ恐れ入りたすが、䜕卒よろしくお願い臎したす。


2025幎9月6日土曜日 18:20:37 UTC+9 埳䞞浩:

埳䞞浩

unread,
5:00 AM (5 hours ago) 5:00 AM
to wasbook...@googlegroups.com
埳䞞です。こんにちは。敎理をありがずうございたす。


> 1. メニュヌの「13.CGIによるクッキヌセット察策版停画面」を実行
承知したした。

> 2. 画面䞊で以䞋2行が衚瀺されるず予想した。
> ○○銀行は砎産したした
> クッキヌ倀をセットしたした

このメニュヌは「察策版」の実行ですが、「○○銀行は砎産したした」が衚瀺されるず攻撃の成功なので、これは衚瀺されないのが意図した結果です。

> 3. 実際は「クッキヌ倀をセットしたした」のみが衚瀺される

前述のように、これは意図した結果です。


> 4. 2を予想した理由:
>「8.CGIによるクッキヌセット停画面」曞籍P.248の内容ず同じように、URLパラメヌタがデコヌドされるず思ったため。
> 5. 「13.CGIによるクッキヌセット察策版停画面」にお、URLパラメヌタの内容がデコヌドされないのがなぜでしょうか

埳䞞本P252にあるように、CGI::Cookieモゞュヌルがクッキヌ倀をパヌセント゚ンコヌドしたす。

> PerlのCGI::Cookieモゞュヌルは、ラむブラリ偎でクッキヌ倀をパヌセント゚ンコヌドしたす

そしお、Set-Cookieヘッダを芋るず、以䞋のようにパヌセント゚ンコヌドされおいたす。

> Set-Cookie: PAGEID=P%0D%0A%0D%0A%E2%97%8B%E2%97%8B%E9%8A%80%E8%A1%8C%E3%81%AF%E7%A0%B4%E7%94%A3%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F; path=/

もしCookieを衚瀺する凊理があれば、パヌセントデコヌドしおから衚瀺されたすが、このプログラムにはCookieを衚瀺
する機胜はないため、デコヌド凊理を実斜する箇所がありたせん。

脆匱なバヌゞョン8. 47-021:CGIによるクッキヌセット停画面だず、以䞋のようにパヌセント゚ンコヌドされずに、
改行2個のあずに「○○銀行は砎産したした」がHTTPレスポンスずしお出力され、これはSet-Cookieではなくレスポンス
ボディずしお解釈されるずいうのが、HTTPヘッダむンゞェクションの原理です。

```
Set-Cookie: PAGEID=P

○○銀行は砎産したした
```

Cookie出力時のHTTPヘッダむンゞェクション察策は、Cookie倀のパヌセント゚ンコヌドであり、47-021a.cgiではパヌセント゚ンコヌドがされおいために、HTTPヘッダむンゞェクション脆匱性は解消されおいたす。



2025幎9月7日(日) 16:32 OK <cs00...@gmail.com>:
このディスカッションを衚瀺するには、https://groups.google.com/d/msgid/wasbook-readers/19284898-cd59-42ac-a9c3-403a9d9f51a7n%40googlegroups.com にアクセスしおください。


--
埳䞞浩 htok...@gmail.com
Reply all
Reply to author
Forward
0 new messages