Upgrade to Pro — share decks privately, control downloads, hide ads and more …

すこしだけマクロな視点から捉える Web セキュリティ / Web Security from...

すこしだけマクロな視点から捉える Web セキュリティ / Web Security from the Macro Perspective (Short Version)

本資料はセキュリティ・ミニキャンプ in 大阪 2021 の一般講座で利用したものです。お問合せは Twitter アカウント 宛によろしくお願いします。

なお「マクロな視点から捉える Web セキュリティ」 の前半部分を再編したものとなっています。これは同一般講座において、セキュリティ・キャンプ全国大会で行われている講義の雰囲気をお伝えすることを目的としていたためです。

Takashi Yoneuchi

March 31, 2021
Tweet

More Decks by Takashi Yoneuchi

Other Decks in Technology

Transcript

  1. ˜TIJGUKTJOGP ͚ͩ͢͜͠ϚΫϩͳࢹ఺͔Βଊ͑Δ8FCηΩϡϦςΟ ‣ 8FCϒϥ΢βͳͲ͸αʔόαΠυ͔Βಧ͚ΒΕͨϦιʔεΛॲཧ͢Δɻ ‣ ϦιʔεͷύʔεɾϨϯμϦϯά  ‣ +BWB4DSJQUͷ࣮ߦ ‣

     ‣ ଟ͘ͷϦιʔε͕ಉ࣌ฒߦͰ؅ཧɾॲཧ͞ΕΔ৔Ͱ͋Δɻ ΫϥΠΞϯταΠυ8FCγεςϜ  8FCϒϥ΢β ϒϥ΢βͷ༷࣋ͭʑͳηΩϡϦςΟػೳɾ࢓༷Λ஌Βͳ͍ͱɺ ΞϓϦέʔγϣϯʹࢥΘ͵໰୊͕ൃੜ͠͏Δ ຊ୊ʹೖΔલʹ
  2. ˜TIJGUKTJOGP ͚ͩ͢͜͠ϚΫϩͳࢹ఺͔Βଊ͑Δ8FCηΩϡϦςΟ ͔͜͜Βͷ࿩ͷ֓ཁ ‣ ͔͜͜Β͸ҎԼͷͭͷมԽʹؔͯ͠੔ཧ͢Δ ‣ αʔόαΠυ8FCΞϓϦέʔγϣϯͷΞʔΩςΫνϟͷมԽ ‣ αʔόαΠυ8FCγεςϜͷߏ੒ɾ࣮ߦ؀ڥͷมԽ ‣

    ͦͷ্ͰɺҎԼͷ఺Λٞ࿦͢Δ ‣ ͦΕΒͷมԽͷʢηΩϡϦςΟతͳࢹ఺͔ΒݟͨʣϙΠϯτ͸Կ͔ ‣ ͦΕΒͷมԽ͕Ͳ͏8FCηΩϡϦςΟͷؔ৺ྖҬΛ޿͛Δ͔ ‣ ొ৔͢ΔΩʔϫʔυ͸ͭ ‣ ηΩϡΞʹͭ͘Δ ‣ ηΩϡΞʹͭͳ͛Δ ‣ ηΩϡΞʹ͏͔͢͝ 
  3. ˜TIJGUKTJOGP ͚ͩ͢͜͠ϚΫϩͳࢹ఺͔Βଊ͑Δ8FCηΩϡϦςΟ ‣ ෳ਺ͷػೳ͕ͭͷΞϓϦέʔγϣϯʹ٧Ί͜·ΕΔΞʔΩςΫνϟͷ͜ͱɻ .POPMJUIJD"SDIJUFDUVSF  ػೳ ػೳ ػೳ ػೳ

    ػೳ ػೳ αʔόαΠυ8FCΞϓϦέʔγϣϯ ‣ ༷ʑͳཁૉ͔ΒͳΔ ‣ ϓϨθϯςʔγϣϯ૚ ‣ ϏδωεϩδοΫ૚ ‣ σʔλετΞΛऔΓѻ͏૚ ‣ ʜ
  4. ˜TIJGUKTJOGP ͚ͩ͢͜͠ϚΫϩͳࢹ఺͔Βଊ͑Δ8FCηΩϡϦςΟ ‣ ෳ਺ͷػೳ͕ͭͷΞϓϦέʔγϣϯʹ٧Ί͜·ΕΔΞʔΩςΫνϟͷ͜ͱɻ .POPMJUIJD"SDIJUFDUVSF  ػೳ ػೳ ػೳ ػೳ

    ػೳ ػೳ αʔόαΠυ8FCΞϓϦέʔγϣϯ ‣ ༷ʑͳཁૉ͔ΒͳΔ ‣ ϓϨθϯςʔγϣϯ૚ ‣ ϏδωεϩδοΫ૚ ‣ σʔλετΞΛऔΓѻ͏૚ ‣ ʜ ✘ίʔυϕʔε͕༰қʹංେԽ͕ͪ͠ ✘ٕज़બ୒ͷ෯͕ڱ·Δ
  5. ˜TIJGUKTJOGP ͚ͩ͢͜͠ϚΫϩͳࢹ఺͔Βଊ͑Δ8FCηΩϡϦςΟ ‣ ෳ਺ͷػೳ͕ͭͷΞϓϦέʔγϣϯʹ٧Ί͜·ΕΔΞʔΩςΫνϟͷ͜ͱɻ .POPMJUIJD"SDIJUFDUVSF  ػೳ ػೳ ػೳ ػೳ

    ػೳ ػೳ αʔόαΠυ8FCΞϓϦέʔγϣϯ ‣ ༷ʑͳཁૉ͔ΒͳΔ ‣ ϓϨθϯςʔγϣϯ૚ ‣ ϏδωεϩδοΫ૚ ‣ σʔλετΞΛऔΓѻ͏૚ ‣ ʜ ✘εέʔϧΞοϓ࣌ͷϦιʔεফඅޮ཰ ✘ෳࡶͳϘτϧωοΫͷൃੜ
  6. ˜TIJGUKTJOGP ͚ͩ͢͜͠ϚΫϩͳࢹ఺͔Βଊ͑Δ8FCηΩϡϦςΟ  ‣ ͜͜Ͱ͸.POPMJUIJD"SDIJUFDUVSFର.JDSPTFSWJDFT"SDIJUFDUVSFͷมભʢཐ ટʁʣΛ΋ͱʹɺૄ݁߹ͳΞʔΩςΫνϟͷҎԼͷଆ໘Λڧௐͨ͠ ‣ ੹຿ͷ෼ࢄʹΑΔݕ౼࿙Εͷ૿Ճ ‣ ࿈ܞͷ૿ՃʹΑΔܦ࿏΁ͷෆ҆ɾҰ؏ੑͷܽམ

    ‣ ͳ͓ɺ͜ΕΒ͸ଟ͘ͷૄ݁߹ͳΞʔΩςΫνϟʹڞ௨ͨ͠՝୊ʹݟ͑Δ ‣ 8FCΞϓϦέʔγϣϯʹݶͬͨ࿩Ͱ͸ͳ͍ ‣ ૄ݁߹ͳΞʔΩςΫνϟ͸ؔ৺ͷ෼཭Λॿ͚Δ͕ɺ෼཭͞Εͨ΋ͷΛ·͕ͨͬͨؔ৺Λ ࣋ͭͷΛ೉͘͢͠ΔͷͰɺઃܭ͕ద౰Ͱͳ͍ͱ༷ʑͳ໰୊͕ى͜Γ͕ͪ খ·ͱΊ
  7. ˜TIJGUKTJOGP ͚ͩ͢͜͠ϚΫϩͳࢹ఺͔Βଊ͑Δ8FCηΩϡϦςΟ ‣ ࡞ͬͨΞϓϦέʔγϣϯ͸ɺಈ͔ͯ͠Α͏΍͘໾ʹཱͭɻ ‣ ಈ͔ͨ͢Ίʹඞཁͳ΋ͷͨͪ ‣ ಈ͔ͨ͢Ίͷ౔୆ʢҎ࣮߱ߦج൫ͱݺͿʣ ‣ ಈ͔ͨ͢Ίʹඞཁͳϛυϧ΢ΣΞ

    ‣ ͔͜͜Β͸ɺ͜ΕΒʹىͬͨ͜มԽΛ੔ཧͯ͠Έ·͠ΐ͏ɻ ΞϓϦέʔγϣϯΛಈ͔ͨ͢Ίʹ  ϛυϧ΢ΣΞ αʔόαΠυ8FCΞϓϦέʔγϣϯ αʔόαΠυ8FCγεςϜ
  8. ˜TIJGUKTJOGP ͚ͩ͢͜͠ϚΫϩͳࢹ఺͔Βଊ͑Δ8FCηΩϡϦςΟ ࣮ߦج൫Λ͔Β४උ͢Δͷ͸େม  ϋʔυ΢ΣΞ 04 ϥϯλΠϜ ΞϓϦέʔγϣϯ ؔ਺ ؔ਺

    ‣ αʔϏεΛӡ༻͢ΔͨΊʹϋʔυ΢ΣΞ͔Β༻ҙ͢Δ৔߹ʜ ‣ ૿΍͢ͷʹ΋ݮΒ͢ͷʹ΋ʹؾ߹͕ඞཁʹͳΔɻ ‣ ૿΍ͦ͏ʹ΋ߪೖʹ͕͔͔࣌ؒΔ ‣ ݮΒͨ͢Ίʹ͸ద੾ʹഇغ͢Δඞཁ͕͋Δ ‣ ʮյΕ͏Δʯͱ͍͏ҙࣝΛڧ࣋ͨ͘Ͷ͹ͳΒͳ͍ɻ ‣ ؒҧͬͯػثʹίʔώʔΛ͜΅͢ͱյΕΔ ‣ ಈ͔͠ଓ͚͍ͯΔ͚ͩͰ΋յΕΔ ‣ ͏·͘΍͍ͬͯ͘ʹ͸े෼ͳઐ໳ੑͱܦݧ͕ඞཁͰ͋Δɻ ‣ ͭΒ͍😫 ˞Ϋϥ΢υ؀ڥʹ΋େن໛ো֐͸ͨ·ʹ͋ΔͷͰɺʮյΕΔʯ͜ͱΛҙࣝ͠ͳͯ͘͸͍͚ͳ͍ͷ͸ ෺ཧػثΛऔΓѻ͏৔߹ಛ༗ͷͭΒ͞ɺͱ͍͏Θ͚Ͱ͸ͳ͍͕ʜ
  9. ˜TIJGUKTJOGP ͚ͩ͢͜͠ϚΫϩͳࢹ఺͔Βଊ͑Δ8FCηΩϡϦςΟ ࣮ߦج൫ͷԾ૝Խɾந৅Խͷਐߦ ‣ ௕೥ʹ౉ͬͯΞϓϦέʔγϣϯͷ࣮ߦج൫ͷԾ૝Խɾந৅Խ͕ਐΊΒΕ͖ͯͨɻ ‣ *OGSBTUSVDUVSFBTB4FSWJDF *BB4  ‣

    1MBUGPSNBTB4FSWJDF 1BB4  ‣ $POUBJOFSBTB4FSWJDFʢ$BB4ʣ ‣ 'VODUJPOBTB4FSWJDF 'BB4  ‣ ࠓͰ͸ඇৗʹखܰʹ࣮ߦج൫͕࡞੒ɾഁغͰ͖ΔΑ͏ʹͳ͍ͬͯΔɻ 
  10. ˜TIJGUKTJOGP ͚ͩ͢͜͠ϚΫϩͳࢹ఺͔Βଊ͑Δ8FCηΩϡϦςΟ 9BB4͕ఏڙ͢ΔൣғʢΠϝʔδʣ  ϋʔυ΢ΣΞ 04 ϥϯλΠϜ ΞϓϦέʔγϣϯ *BB4͕ఏڙ͢Δج൫ ؔ਺

    ؔ਺ ϋʔυ΢ΣΞ 04 ϥϯλΠϜ ΞϓϦέʔγϣϯ $BB4͕ఏڙ͢Δج൫ ؔ਺ ؔ਺ ϋʔυ΢ΣΞ 04 ϥϯλΠϜ ΞϓϦέʔγϣϯ 1BB4͕ఏڙ͢Δج൫ ؔ਺ ؔ਺ ϋʔυ΢ΣΞ 04 ϥϯλΠϜ ΞϓϦέʔγϣϯ 'BB4͕ఏڙ͢Δج൫ ؔ਺ ؔ਺
  11. ˜TIJGUKTJOGP ͚ͩ͢͜͠ϚΫϩͳࢹ఺͔Βଊ͑Δ8FCηΩϡϦςΟ ࣮ߦج൫ͷԾ૝Խɾந৅Խͷਐߦ  ϋʔυ΢ΣΞ 04 ϥϯλΠϜ ΞϓϦέʔγϣϯ *BB4͕ఏڙ͢Δج൫ ؔ਺

    ؔ਺ ϋʔυ΢ΣΞ 04 ϥϯλΠϜ ΞϓϦέʔγϣϯ $BB4͕ఏڙ͢Δج൫ ؔ਺ ؔ਺ ϋʔυ΢ΣΞ 04 ϥϯλΠϜ ΞϓϦέʔγϣϯ 1BB4͕ఏڙ͢Δج൫ ؔ਺ ؔ਺ ϋʔυ΢ΣΞ 04 ϥϯλΠϜ ΞϓϦέʔγϣϯ 'BB4͕ఏڙ͢Δج൫ ؔ਺ ؔ਺ ϋʔυ΢ΣΞ͸9BB4ఏڙଆ͕ ؅ཧͯ͘͠ΕΔˠخ͍͠ʂ
  12. ˜TIJGUKTJOGP ͚ͩ͢͜͠ϚΫϩͳࢹ఺͔Βଊ͑Δ8FCηΩϡϦςΟ ࣮ߦج൫ͷԾ૝Խɾந৅Խͷਐߦ  ϋʔυ΢ΣΞ 04 ϥϯλΠϜ ΞϓϦέʔγϣϯ *BB4͕ఏڙ͢Δج൫ ؔ਺

    ؔ਺ ϋʔυ΢ΣΞ 04 ϥϯλΠϜ ΞϓϦέʔγϣϯ $BB4͕ఏڙ͢Δج൫ ؔ਺ ؔ਺ ϋʔυ΢ΣΞ 04 ϥϯλΠϜ ΞϓϦέʔγϣϯ 1BB4͕ఏڙ͢Δج൫ ؔ਺ ؔ਺ ϋʔυ΢ΣΞ 04 ϥϯλΠϜ ΞϓϦέʔγϣϯ 'BB4͕ఏڙ͢Δج൫ ؔ਺ ؔ਺ ͍Ζ͍Ζ؅ཧͯ͘͠ΕΔͷͰɺࣗ ෼͕औΓѻ͏΂͖ϨΠϠ͚ͩʹؔ ৺ΛڱΊΒΕΔˠخ͍͠ʂ
  13. ˜TIJGUKTJOGP ͚ͩ͢͜͠ϚΫϩͳࢹ఺͔Βଊ͑Δ8FCηΩϡϦςΟ ΠϯϑϥετϥΫνϟͷίʔυԽ ‣ Ծ૝Խɾந৅Խ͞Εɺϋʔυ΢ΣΞͷ ΍Γ͘Γ͕Ӆṭ͞ΕͨΞϓϦέʔγϣ ϯ࣮ߦج൫͸ɺ΄΅७ਮͳιϑτ΢Σ Ξͱಉ౳ʹऔΓѻ͑ΔΑ͏ʹɻ ‣ ίϚϯυҰͭͰԾ૝ϚγϯΠϯελϯε

    Λ֬อͨ͠Γʜ ‣ ίʔυʹΑΓΠϯϑϥετϥΫνϟͷߏ ੒Λهड़ɾ؅ཧͨ͠Γʜ ‣ ॴҦ*OGSBTUSVDUVSFBT$PEFʢ*B$ʣ  resource "google_container_cluster" "challenge_cluster" { name = "challenges" location = "asia-northeast1" initial_node_count = 1 cluster_autoscaling { enabled = true resource_limits { resource_type = "cpu" minimum = 3 maximum = 32 } resource_limits { resource_type = "memory" minimum = 3 maximum = 32 } } ...
  14. ˜TIJGUKTJOGP ͚ͩ͢͜͠ϚΫϩͳࢹ఺͔Βଊ͑Δ8FCηΩϡϦςΟ ந৅Խ͞ΕͨϦιʔεͷ$PEFԽ  resource "google_container_cluster" "challenge_cluster" { name =

    "challenges" location = "asia-northeast1" initial_node_count = 1 cluster_autoscaling { enabled = true resource_limits { resource_type = "cpu" minimum = 3 maximum = 32 } resource_limits { resource_type = "memory" minimum = 3 maximum = 32 } } ...
  15. ˜TIJGUKTJOGP ͚ͩ͢͜͠ϚΫϩͳࢹ఺͔Βଊ͑Δ8FCηΩϡϦςΟ ͦͷଞͷզʑΛࢧ͑Δଘࡏ ‣ ΞϓϦέʔγϣϯ͸ଟ͘ͷϛυϧ΢ΣΞʹࢧ͑ΒΕͯಈ࡞͢Δɻ ‣ σʔλετΞʢ,743%#ʣ ‣ ϩʔυόϥϯα ‣

    FUD ‣ ϚωʔδυͳܗͰఏڙ͞Ε͍ͯΔϛυϧ΢ΣΞ΋୔ࢁ͋Δɻ  ϛυϧ΢ΣΞ αʔόαΠυ8FCΞϓϦέʔγϣϯ αʔόαΠυ8FCγεςϜ
  16. ˜TIJGUKTJOGP ͚ͩ͢͜͠ϚΫϩͳࢹ఺͔Βଊ͑Δ8FCηΩϡϦςΟ ʮ૊Έ߹ΘͤΔ͜ͱͰ࡞Δʯ ‣ ΞϓϦέʔγϣϯͷ࣮ߦج൫΍ϛυϧ΢ΣΞ͸ʜ ‣ ϋʔυ΢ΣΞͷ੍໿͕ʢΫϥ΢υϕϯμʹΑΓʣ͏·͘Ӆṭ͞ΕΔΑ͏ʹͳͬͨɻ ‣ ༰қʹมߋ΍औࣺબ୒͕Ͱ͖ΔΑ͏ʹͳͬͨɻ ‣

    ΞϓϦέʔγϣϯ։ൃͱ͍ۙํ๏Ͱߏ੒Ͱ͖ΔΑ͏ʹͳͬͨɻ ‣ ݁Ռɺʮ૊Έ߹ΘͤΔ͜ͱͰ࡞ΔʯతΞϓϩʔν͕औΓ΍͘͢ͳͬͨɻ ‣ ݱ୅ͷ8FCΞϓϦέʔγϣϯʹٻΊΒΕ͍ͯΔʮ౰ͨΓલ඼࣭ʯʢDGङ໺Ϟσϧʣ͸ߴ͍ɻ ‣ ྫෳࡶͳػೳཁ݅ ߴՄ༻ੑ ߴ଎ͳಈ࡞  ‣ શ෦͔Β࡞ΕΔͷ͸͔͍͍͕ͬ͜ɺߴ͍ʮ౰ͨΓલ඼࣭ʯΛୡ੒͢Δͷ͸ࠔ೉ɻ ‣ ৴པͰ͖Δ΋ͷΛ૊Έ߹ΘͤΔ͜ͱͰɺϕʔεͷʮ౰ͨΓલ඼࣭ʯΛఈ্͛͠ͳ͕Βɺ ࣗ෼͕࣮ݱ͢Δ΂͖͜ͱʹ஫ྗ͢Δ͜ͱ͕Ͱ͖Δʢخ͍͠ʂʣ 
  17. ˜TIJGUKTJOGP ͚ͩ͢͜͠ϚΫϩͳࢹ఺͔Βଊ͑Δ8FCηΩϡϦςΟ ‣ ΞϓϦέʔγϣϯͷ࣮ߦج൫΍ϛυϧ΢ΣΞ͸ʜ ‣ ϋʔυ΢ΣΞͷ੍໿͕ʢΫϥ΢υϕϯμʹΑΓʣ͏·͘Ӆṭ͞ΕΔΑ͏ʹͳͬͨɻ ‣ ༰қʹมߋ΍औࣺબ୒͕Ͱ͖ΔΑ͏ʹͳͬͨɻ ‣ ΞϓϦέʔγϣϯ։ൃͱ͍ۙํ๏Ͱߏ੒Ͱ͖ΔΑ͏ʹͳͬͨɻ

    ‣ ݁Ռɺʮ૊Έ߹ΘͤΔ͜ͱͰ࡞ΔʯతΞϓϩʔν͕औΓ΍͘͢ͳͬͨʂ ‣ ݱ୅ͷ8FCΞϓϦέʔγϣϯʹٻΊΒΕ͍ͯΔʮ౰ͨΓલ඼࣭ʯ͸ߴ͍ɻ ‣ ྫෳࡶͳػೳཁ݅ ߴՄ༻ੑ ߴ଎ͳಈ࡞  ‣ ࢀߟङ໺Ϟσϧ ‣ શ෦͔Β࡞ΕΔͷ͸͔͍͍͕ͬ͜ɺߴ͍ʮ౰ͨΓલ඼࣭ʯΛୡ੒͢Δͷ͸ࠔ೉ɻ ‣ ৴པͰ͖Δ΋ͷΛ૊Έ߹ΘͤΔ͜ͱͰɺϕʔεͷʮ౰ͨΓલ඼࣭ʯΛఈ্͛͠ͳ͕Βɺ ࣗ෼͕࣮ݱ͢Δ΂͖͜ͱʹ஫ྗ͢Δ͜ͱ͕Ͱ͖Δɻ ϙΠϯτ੹೚ڥքͷଟ༷Խ ߏ੒ɾ࣮ߦ؀ڥͷมԽ͕ڧௐ͢Δ՝୊  ͦͷϛυϧ΢ΣΞͷ੹೚ྖҬ͸ʁ ͦͷಈ࡞ج൫ͷ੹೚ྖҬ͸ʁ
  18. ˜TIJGUKTJOGP ͚ͩ͢͜͠ϚΫϩͳࢹ఺͔Βଊ͑Δ8FCηΩϡϦςΟ ‣ ΞϓϦέʔγϣϯͷ࣮ߦج൫΍ϛυϧ΢ΣΞ͸ʜ ‣ ϋʔυ΢ΣΞͷ੍໿͕ʢΫϥ΢υϕϯμʹΑΓʣ͏·͘Ӆṭ͞ΕΔΑ͏ʹͳͬͨɻ ‣ ༰қʹมߋ΍औࣺબ୒͕Ͱ͖ΔΑ͏ʹͳͬͨɻ ‣ ΞϓϦέʔγϣϯ։ൃͱ͍ۙํ๏Ͱߏ੒Ͱ͖ΔΑ͏ʹͳͬͨɻ

    ‣ ݁Ռɺʮ૊Έ߹ΘͤΔ͜ͱͰ࡞ΔʯతΞϓϩʔν͕औΓ΍͘͢ͳͬͨʂ ‣ ݱ୅ͷ8FCΞϓϦέʔγϣϯʹٻΊΒΕ͍ͯΔʮ౰ͨΓલ඼࣭ʯ͸ߴ͍ɻ ‣ ྫෳࡶͳػೳཁ݅ ߴՄ༻ੑ ߴ଎ͳಈ࡞  ‣ ࢀߟङ໺Ϟσϧ ‣ શ෦͔Β࡞ΕΔͷ͸͔͍͍͕ͬ͜ɺߴ͍ʮ౰ͨΓલ඼࣭ʯΛୡ੒͢Δͷ͸ࠔ೉ɻ ‣ ৴པͰ͖Δ΋ͷΛ૊Έ߹ΘͤΔ͜ͱͰɺϕʔεͷʮ౰ͨΓલ඼࣭ʯΛఈ্͛͠ͳ͕Βɺ ࣗ෼͕࣮ݱ͢Δ΂͖͜ͱʹ஫ྗ͢Δ͜ͱ͕Ͱ͖Δɻ ϙΠϯτಛผͳߟྀࣄ߲ͷ૿Ճ ߏ੒ɾ࣮ߦ؀ڥͷมԽ͕ڧௐ͢Δ՝୊  Ұൠੑͷߴ͍ίϯϙʔωϯτΛ࠾༻͢Δ৔߹ɺར༻͠ ͳ͍ػೳͷதʹมͳ΋ͷ͕ͳ͍͔ʁ ࣮ߦ؀ڥͷதʹ͸ͦΕͦͷ΋ͷ͕ಛผͳ"1*Λ࣋ͭ ৔߹΋͋Δ͕ɺͦΕ͸ಛผʹอޢ͠ͳͯ͘େৎ෉͔ʁ
  19. ˜TIJGUKTJOGP ϚΫϩͳࢹ఺͔Βଊ͑Δ8FCηΩϡϦςΟ &EHF4JEF*ODMVEFTʢ&4*ʣ มͳ΋ͷͷྫ ‣ &EHF4JEF*ODMVEFTʢ&4*ʣʜ9.-ϕʔεͷϚʔΫΞοϓݴޠ ‣ <esi:include>౳ͷλάʹΑΓɺҎԼ͕දݱͰ͖Δɻ ‣ αϒϦιʔεͷಈతͳऔಘɾల։

    ‣ ؆୯ͳม਺ૢ࡞ ‣ 7BSOJTI 'BTUMZ ౳ͷ༷ʑͳιϑτ΢ΣΞ͕&4*ͷॲཧʹରԠ͍ͯ͠Δɻ  <body> <h1>Foobar</h1> <esi:include src="/a?q=$(QUERY_STRING{param1})" /> <esi:include src="/b?q=$(HTTP_COOKIE{'TEST'})" /> </body> &4*ॲཧܥ͕͜ͷ ෦෼Λల։͢Δ
  20. ˜TIJGUKTJOGP ϚΫϩͳࢹ఺͔Βଊ͑Δ8FCηΩϡϦςΟ ࣮ߦ؀ڥݻ༗ͷػೳɾ"1*ͷྫ ‣ ଟ͘ͷΫϥ΢υϓϩόΠμʢྫ($1 "84 "[VSF ʣ͸ɺ࣮ߦ؀ڥʹؔ͢Δ ৘ใ΍ɺͦͷΞϓϦέʔγϣϯͷಈ࡞؀ڥʹඥ෇͚ΒΕͨݖݶΛߦ࢖͢ΔͨΊͷ τʔΫϯ৘ใͳͲΛฦ͢.FUBEBUB"1*Λ࣋ͭ

    ‣ ΞϓϦέʔγϣϯͷ࢓༷ʹʮ೚ҙͷ)551ϦΫΤετΛൃߦͰ͖ɺͦͷ݁ՌΛ ӾཡͰ͖Δʯͱ͍͏Α͏ͳ΋ͷؚ͕·Ε͍ͯͨΒʁ࣮૷͕੬ऑͩͬͨΒʁ  ΞϓϦέʔγϣϯ .FUBEBUB"1* ؀ڥʹؔ͢Δ৘ใ΍ ଞ"1*΁ͷΞΫηετʔΫϯΛཁٻ ฦ٫
  21. ˜TIJGUKTJOGP ͚ͩ͢͜͠ϚΫϩͳࢹ఺͔Βଊ͑Δ8FCηΩϡϦςΟ ‣ ΞϓϦέʔγϣϯͷ࣮ߦج൫΍ϛυϧ΢ΣΞ͸ʜ ‣ ϋʔυ΢ΣΞͷ੍໿͕ʢΫϥ΢υϕϯμʹΑΓʣ͏·͘Ӆṭ͞ΕΔΑ͏ʹͳͬͨɻ ‣ ༰қʹมߋ΍औࣺબ୒͕Ͱ͖ΔΑ͏ʹͳͬͨɻ ‣ ΞϓϦέʔγϣϯ։ൃͱ͍ۙํ๏Ͱߏ੒Ͱ͖ΔΑ͏ʹͳͬͨɻ

    ‣ ݁Ռɺʮ૊Έ߹ΘͤΔ͜ͱͰ࡞ΔʯతΞϓϩʔν͕औΓ΍͘͢ͳͬͨʂ ‣ ݱ୅ͷ8FCΞϓϦέʔγϣϯʹٻΊΒΕ͍ͯΔʮ౰ͨΓલ඼࣭ʯ͸ߴ͍ɻ ‣ ྫෳࡶͳػೳཁ݅ ߴՄ༻ੑ ߴ଎ͳಈ࡞  ‣ ࢀߟङ໺Ϟσϧ ‣ શ෦͔Β࡞ΕΔͷ͸͔͍͍͕ͬ͜ɺߴ͍ʮ౰ͨΓલ඼࣭ʯΛୡ੒͢Δͷ͸ࠔ೉ɻ ‣ ৴པͰ͖Δ΋ͷΛ૊Έ߹ΘͤΔ͜ͱͰɺϕʔεͷʮ౰ͨΓલ඼࣭ʯΛఈ্͛͠ͳ͕Βɺ ࣗ෼͕࣮ݱ͢Δ΂͖͜ͱʹ஫ྗ͢Δ͜ͱ͕Ͱ͖Δɻ αʔόαΠυ8FCγεςϜͷηΩϡϦςΟ ߏ੒ɾ࣮ߦ؀ڥͷมԽΛ࠶ߟ͢Δ  ϙΠϯτ ੹೚ڥքͷଟ༷Խ ಛผͳߟྀࣄ߲ͷ૿Ճ
  22. ˜TIJGUKTJOGP ͚ͩ͢͜͠ϚΫϩͳࢹ఺͔Βଊ͑Δ8FCηΩϡϦςΟ αʔόαΠυ8FCγεςϜͷηΩϡϦςΟ มԽ͔Β࠶ߟ͢Δ ‣ ࡢࠓͷมԽ͕ڧௐ͢Δ8FCηΩϡϦςΟʹؔ͢Δ՝୊ ‣ ੹຿ͷ෼ࢄʜݩདྷαʔόαΠυ8FCΞϓϦέʔγϣϯͷ࣮૷தͰըҰత ʹऔΓѻΘΕ͍ͯͨηΩϡϦςΟ΁ͷ੹຿͕ɺ෼ࢄ͢ΔΑ͏ʹͳͬͨɻ ‣

    ࿈ܞͷ૿Ճʜͭͷૢ࡞ͷ࣮ݱͷͨΊʹɺෳ਺ͷιϑτ΢ΣΞ͕ؒ࿈ܞ͠ ͯಈ͘ػձ͕૿͖͑ͯͨɻܦ࿏͸҆શ͔ʁ࢓༷ͷҰ؏ੑ͸อͨΕ͍ͯΔ͔ʁ ‣ ੹೚ڥքͷଟ༷Խ ಛผͳߟྀࣄ߲ͷ૿Ճʜಈ࡞ج൫΍ϛυϧ΢ΣΞ͕ଟ ༷Խͨ݁͠ՌɺΞϓϦέʔγϣϯ։ൃऀӡ༻ऀ͕஫ҙ͢΂͖఺΋૿͑ͨɻ ‣ ͦ͜Ͱɺ͜ͷྖҬͷηΩϡϦςΟΛɺҎԼͷ؍఺ʹ෼ׂͯ͠ߟ͑ͯΈΑ͏ɻ ‣ ηΩϡΞʹͭ͘Δ ‣ ηΩϡΞʹͭͳ͛Δ ‣ ηΩϡΞʹ͏͔͢͝ 
  23. ˜TIJGUKTJOGP ͚ͩ͢͜͠ϚΫϩͳࢹ఺͔Βଊ͑Δ8FCηΩϡϦςΟ ηΩϡΞʹͭ͘Δ ‣ ·ͣ͸ίϯϙʔωϯτͷ֤ʑ͕ηΩϡΞʹ࡞ΒΕ͍ͯΔ͜ ͱ͕ɺ͢΂ͯͷେલఏɻ ‣ 8FCΞϓϦέʔγϣϯΛ͜ͷΑ͏ͳϛΫϩͳࢹ఺ͰηΩϡ Ξʹ͢ΔͨΊʹ΋ɺ·ͣ͸࠷௿ݶͷ஌ࣝΛ਎ʹண͚Α͏ɻ ‣

    ڭࡐ͸༷ʑଘࡏ͍ͯ͠Δ ‣ 08"41͕ϦϦʔε͍ͯ͠Δ֤छυΩϡϝϯτ ‣ 1PSU4XJHHFSͷ8FC4FDVSJUZ"DBEFNZ ‣ ʰମܥతʹֶͿ҆શͳ8FCΞϓϦέʔγϣϯͷ࡞Γํʱʢಙؙຊʣ  .JDSPTFSWJDF ػೳ
  24. ˜TIJGUKTJOGP ͚ͩ͢͜͠ϚΫϩͳࢹ఺͔Βଊ͑Δ8FCηΩϡϦςΟ ηΩϡΞʹ͏͔͢͝ ‣ ಈ࡞ج൫ΛηΩϡΞʹอͭ͜ͱ͸͍ͭ΋Ͳ͓Γେࣄɻ ‣ DG؅ཧ͍ͯ͠Δϊʔυ΁ͷύονద༻ ؂ࢹܥͷ੔උ  ‣

    ͦͷಈ࡞ج൫ಛ༗ͷ੹೚ڥք΍ηΩϡϦςΟϦεΫΛ೺Ѳͭͭ͠ΞϓϦέʔγϣ ϯΛӡ༻ɾ։ൃ͢Δɺͱ͍͏ͷ΋ͭͷେࣄͳ؍఺Ͱ͋Δɻ ‣ ྫ.FUBEBUB&OEQPJOUTྨͷอޢ͸͞Ε͍ͯΔ͔  ‣ ྫա৒ͳݖݶ΍༨ܭͳ৘ใ͕ΞϓϦέʔγϣϯʹ&YQPTF͞Ε͍ͯͳ͍͔  ‣ ۙ೥͸͜ͷτϐοΫʹֶ͍ͭͯͿͨΊͷϚςϦΞϧ͕ͲΜͲΜ૿͖͍͑ͯͯΔ ‣ ྫ/*4541ͷΑ͏ͳΨΠυϥΠϯ ‣ ྫ#VTUB,VCFͷΑ͏ͳϋϯζΦϯϚςϦΞϧ ‣ ྫIUUQTDPOUBJOFSTFDVSJUZEFWͷΑ͏ͳจݙ ‣  
  25. ˜TIJGUKTJOGP ͚ͩ͢͜͠ϚΫϩͳࢹ఺͔Βଊ͑Δ8FCηΩϡϦςΟ ·ͱΊ ͍·ͷʮ8FCηΩϡϦςΟʯͱ͸  αʔόαΠυ 8FCγεςϜ ΫϥΠΞϯταΠυ 8FCγεςϜ ‣

    ͜ͷηΩϡϦςΟΛҎԼͷ̏؍఺͔Βߟ͑Α͏ ‣ ηΩϡΞʹͭ͘Δ ‣ ηΩϡΞʹͭͳ͛Δ ‣ ηΩϡΞʹ͏͔͢͝