Slide 1

Slide 1 text

੬ऑੑ͔ΒֶͿ WebηΩϡϦςΟ Part 2 όʔνʔ @hypermkt 2019.12.01 PHPΧϯϑΝϨϯε 1

Slide 2

Slide 2 text

ࣗݾ঺հ • όʔνʔ / @hypermkt • ιϑτ΢ΣΞΤϯδχΞ • [‘PHPer’, ‘Laravel’, ‘Vue.js’] • https://blog.hypermkt.jp/ 2

Slide 3

Slide 3 text

2019/11/18ൃച
 Software Design 2019೥12݄߸ʹॳدߘ͠·ͨ͠!!! 3

Slide 4

Slide 4 text

͸͡Ίʹ

Slide 5

Slide 5 text

ຊτʔΫ͕ఏڙ͢Δ͜ͱ • ΤϯδχΞ͕WebηΩϡϦςΟΛֶͿඞཁੑ • ੬ऑੑͷ֓ཁͱରࡦ 5

Slide 6

Slide 6 text

ຊτʔΫ͕ఏڙ͠ͳ͍͜ͱ • ֎෦੬ऑੑ਍அ΍੬ऑੑݕ஌πʔϧʹ͍ͭͯ • ιϑτ΢ΣΞ੡඼ɾΠϯϑϥͷ੬ऑੑରࡦ 6

Slide 7

Slide 7 text

ຊτʔΫͷର৅ऀ • WebΞϓϦέʔγϣϯΤϯδχΞ(αʔόʔαΠυ) • ॳ৺ऀʙதڃऀ • WebηΩϡϦςΟʹڵຯ͕͋Δ • αʔϏεɾγεςϜΛकΓ͍ͨํ 7

Slide 8

Slide 8 text

օ͞Μʹ࣋ͪؼͬͯཉ͍͠΋ͷ • ੬ऑੑͷո͍͠೏͍ 8

Slide 9

Slide 9 text

໨࣍ 1. ΤϯδχΞ͕WebηΩϡϦςΟΛֶͿඞཁੑ 2. ੬ऑੑ͔ΒֶͿWebηΩϡϦςΟ 3. ࢀߟɾҾ༻ࢿྉ 4. ·ͱΊ 9

Slide 10

Slide 10 text

Part 2…?

Slide 11

Slide 11 text

੬ऑੑ͔ΒֶͿWebηΩϡϦςΟ 
 in PHPΧϯϑΝϨϯεԭೄ2019 11 IUUQTTQFBLFSEFDLDPNIZQFSNLUTUVEZXFCTFDVSJUZGSPNWVMOFSBCJMJUZ Part 1 ※ ͋ͱ͚ͮ!!

Slide 12

Slide 12 text

PHPΧϯϑΝϨϯεԭೄ2019Ͱ͸ • SQLΠϯδΣΫγϣϯ • ΫϩεαΠτɾεΫϦϓςΟϯά • CSRF • ʹ͍͓ͭͯ࿩͠·ͨ͠! 12

Slide 13

Slide 13 text

ΤϯδχΞ͕WebηΩϡϦςΟΛ ֶͿඞཁੑ

Slide 14

Slide 14 text

զʑͷγεςϜɾαʔϏε͸
 ৗʹૂΘΕ͍ͯΔ

Slide 15

Slide 15 text

௚ۙ൒೥ʹXSS੬ऑੑ͕ٸ૿ 15 ग़య*1" ৘ใॲཧػߏ 
 ιϑτ΢ΣΞ౳ͷ੬ऑੑؔ࿈৘ใʹؔ͢Δಧग़ঢ়گ<೥ୈ࢛൒ظʢ݄ʙ݄ʣ>
 IUUQTXXXJQBHPKQpMFTQEG

Slide 16

Slide 16 text

੬ऑੑͷڴҖ • ݸਓ৘ใͷӾཡ • WebαΠτͷվ͟Μ • ΢Πϧεײછ • ผͷར༻ऀ΁ͷͳΓ͢·͠ • WebαΠτΛར༻ෆՄʹ͢Δ • ϨϐϡςʔγϣϯϦεΫ(اۀʹର͢ΔϚΠφεධՁʣ • ܦࡁతଛࣦ 16

Slide 17

Slide 17 text

੬ऑੑͱ͸

Slide 18

Slide 18 text

ιϑτ΢ΣΞ΍γεςϜΛѱ༻Ͱ͖Δόά ੬ऑੑͱ͸

Slide 19

Slide 19 text

ιϑτ΢ΣΞ΍γεςϜΛѱ༻Ͱ͖Δόά ੬ऑੑͱ͸ ͭ·Γզʑ։ൃऀʹ࡞ΒΕ͍ͯΔ

Slide 20

Slide 20 text

ͳͥ։ൃऀ͸੬ऑੑΛ࡞ͬͯ͠·͏ͷ͔ʁ 20

Slide 21

Slide 21 text

ͳͥ։ൃऀ͸੬ऑੑΛ࡞ͬͯ͠·͏ͷ͔ʁ • ੬ऑੑʹؔ͢Δ஌ࣝෆ଍ • ΞϓϦέʔγϣϯઃܭෆ଍ 21

Slide 22

Slide 22 text

Ͳ͏ͨ͠Β
 ҆શͳΞϓϦέʔγϣϯͷ։ൃ͕ Ͱ͖Δ͔

Slide 23

Slide 23 text

੬ऑੑͷ֓ཁɾڴҖɾରࡦʹ ͍ͭͯ஌Δ͜ͱ

Slide 24

Slide 24 text

੬ऑੑʹ͍ͭͯ஌Δ͜ͱͰɺ ҆શͳWebΞϓϦέʔγϣϯ։ൃ ͕Ͱ͖ΔΑ͏ʹͳΔ

Slide 25

Slide 25 text

ҰॹʹWebηΩϡϦςΟΛ ֶΜͰ͍͖·͠ΐ͏!

Slide 26

Slide 26 text

੬ऑੑ͔ΒֶͿWebηΩϡϦςΟ

Slide 27

Slide 27 text

ੈͷதʹ͸༷ʑͳ੬ऑੑ͕͋Δ • SQLΠϯδΣΫγϣϯ • ΫϩεαΠτεΫϦϓςΟϯά • CSRF • σΟϨΫτϦτϥόʔαϧ • OSίϚϯυɾΠϯδΣΫγϣϯ • ηογϣϯ؅ཧͷෆඋ • HTTP/ϝʔϧϔομʔΠϯδΣΫγϣϯ • ΞΫηε੍ޚ΍ೝՄ੍ޚͷܽམ • ͳͲ 27

Slide 28

Slide 28 text

ࠓ೔͸ҎԼ3఺Λղઆ͠·͢ • SQLΠϯδΣΫγϣϯ • ΫϩεαΠτεΫϦϓςΟϯά • CSRF • σΟϨΫτϦτϥόʔαϧ • OSίϚϯυɾΠϯδΣΫγϣϯ • ηογϣϯ؅ཧͷෆඋ • HTTP/ϝʔϧϔομʔΠϯδΣΫγϣϯ • ΞΫηε੍ޚ΍ೝՄ੍ޚͷܽམ • ͳͲ 28

Slide 29

Slide 29 text

੬ऑੑରࡦͷߏ͑

Slide 30

Slide 30 text

੬ऑੑͷରࡦํ๏͸̎௨Γ • ࠜຊతղܾ • อݥతରࡦ 30

Slide 31

Slide 31 text

• ࠜຊతղܾ • ੬ऑੑΛ࡞Γࠐ·ͳ͍࣮૷Λ࣮ݱ͢Δํ๏ • ੬ऑੑΛૂͬͨ߈ܸΛແޮԽ͢Δ • อݥతରࡦ • ੬ऑੑΛૂͬͨ߈ܸʹΑΔӨڹΛܰݮ͢Δํ๏ • ੬ऑੑͷݪҼΛແ͘͢΋ͷͰ͸ͳ͍ 31

Slide 32

Slide 32 text

ͲͪΒΛબ୒͢΂͖͔ʁ

Slide 33

Slide 33 text

ঢ়گʹԠͯ͡൑அΛ͢Δ • جຊతʹ͸ࠜຊతղܾͰ੬ऑੑΛແޮԽ͢Δͷ͕ཧ૝త • ୠ͠ӡ༻தͷΞϓϦέʔγϣϯʹ͓͍ͯɺ࣌ؒɾϦιʔεɾ Өڹൣғ͔Β͙͢ʹࠜຊతղܾ͕࣮ࢪͰ͖ͳ͍৔߹ʹ
 อݥతରࡦ͸࢑ఆରԠͱͯ͠༗ޮ 33

Slide 34

Slide 34 text

΍͍͖ͬͯ·͠ΐ͏

Slide 35

Slide 35 text

σΟϨΫτϦɾτϥόʔαϧ Directory Traversal

Slide 36

Slide 36 text

σΟϨΫτϦɾτϥόʔαϧͱ͸ • ϑΝΠϧ໊ͷࢦఆͷ࣮૷ʹ໰୊͕͋Δ৔߹ʹɺ
 ߈ܸऀʹ೚ҙͷϑΝΠϧ͕ࢦఆ͞Εɺ
 ॏཁͳϑΝΠϧ͕Ӿཡɾ࡟আ͞Εͯ͠·͏੬ऑੑ 36 ੬ऑੑͷ͋ΔαΠτ ᶃෆਖ਼ϦΫΤετΛ ૹ৴ 8FCαʔόʔ ᶄॏཁϑΝΠϧ͕
 Ӿཡ͞Εͯ͠·͏ pMFFUDQBTTXE ߈ܸऀ

Slide 37

Slide 37 text

ڴҖ • ৘ใ࿙͍͑ • ॏཁͳϑΝΠϧ͕Ӿཡɾฤूɾ࡟আ͞ΕΔ 37

Slide 38

Slide 38 text

ݪҼ • ϑΝΠϧ໊ͱͯ͠ઈରύεɾ૬ରύεͷܗͰ
 ҟͳΔσΟϨΫτϦΛࢦఆͰ͖Δ • ૊ΈཱͯͨϑΝΠϧʹର͢ΔΞΫηεՄ൱ͷνΣοΫΛ ͍ͯ͠ͳ͍ 38

Slide 39

Slide 39 text

39 σΟϨΫτϦɾτϥόʔαϧྫ ೖྗύϥϝʔλʔΛͦͷ··౉͍ͯ͠Δ ߈ܸྫ ӾཡͰ͖ͯ͸͍͚ͳ͍ϑΝΠϧ͕
 ӾཡͰ͖͍ͯΔ!!

Slide 40

Slide 40 text

Ӿཡ͞ΕͨΒࠔΔϑΝΠϧɺͨ͘͞Μ͋Γ·͢ΑͶ…. • /etc/hosts • /etc/passwd • wp-config.php • my.cnf • ϩάϑΝΠϧ • ͳͲͳͲ… 40

Slide 41

Slide 41 text

ո͍͠೏͍ • ֎෦ύϥϝʔλʔ͔ΒϑΝΠϧ໊Λ౉࣮͢૷͕͋Δͱո ͍͠ 41

Slide 42

Slide 42 text

ࠜຊతղܾ • ֎෦͔ΒϑΝΠϧ໊Λࢦఆ͢Δ࢓༷Λආ͚Δ • ྫʣ಺෦తʹϑΝΠϧ໊Λݻఆʹ͢Δ • ϑΝΠϧ໊ʹσΟϨΫτϦؚ໊͕·Εͳ͍Α͏ʹ͢Δ • ྫʣ 42 ϙΠϯτ!

Slide 43

Slide 43 text

อݥతରࡦ • ϑΝΠϧ໊Λӳ਺ࣈʹݶఆͯ͠ɺσΟϨΫτϦɾτϥόʔαϧʹ ༻͍ΒΕΔه߸จࣈΛ࢖༻ෆՄʹ͢Δ 43 ϙΠϯτ!

Slide 44

Slide 44 text

OSίϚϯυɾΠϯδΣΫγϣϯ OS Command Injection

Slide 45

Slide 45 text

OSίϚϯυΠϯδΣΫγϣϯͱ͸ • ֎෦͔Βͷ߈ܸʹΑΓɺαʔόʔͷOSίϚϯυ͕࣮ߦ ͞Εͯ͠·͏໰୊ 45 ੬ऑੑͷ͋ΔαΠτ ᶃෆਖ਼ϦΫΤετΛ ૹ৴ 8FCαʔόʔ ᶄ04ίϚϯυ͕
 ࣮ߦ͞ΕΔ IPHF!IPHFDPNSNGVHBJNQPSUBOUpMF ߈ܸऀ

Slide 46

Slide 46 text

ڴҖ • ৘ใ࿙͍͑ • ॏཁͳϑΝΠϧ͕Ӿཡɾฤूɾ࡟আ͞ΕΔ • WebαΠτΛར༻ෆՄʹ͢Δ • ผαʔόʔ΁ͷ߈ܸͷ౿Έ୆ʹ͞ΕΔ 46

Slide 47

Slide 47 text

ݪҼ • OSͷγΣϧݺͼग़͕͠Ͱ͖Δؔ਺ʹɺෆਖ਼ͳίϚϯυ ͕஫ೖ͞Εͯ͠·͏ 47

Slide 48

Slide 48 text

OSίϚϯυΠϯδΣΫγϣϯྫ • ݱࡏϑΝΠϧ͕༗Δ৔ॴʹσΟϨΫτϦΛ࡞੒͢Δ ϓϩάϥϜ͕͋Δ 48 ೖྗύϥϝʔλʔΛͦͷ··౉͍ͯ͠Δ!!

Slide 49

Slide 49 text

49 ೖྗύϥϝʔλʔΛͦͷ··౉͍ͯ͠Δ!! • ෆਖ਼ͳೖྗྫɿ • ࣮ߦ͞ΕΔίϚϯυɿ ηϛίϩϯʮ;ʯ Λར༻ͯ͠LinuxίϚϯυΛ
 ࿈ଓ࣮ͯ͠ߦͤ͞Δ OFXEJSSNFUDIPTUT TZTUFN lNLEJSQWBSXXXBQQOFXEJSSNFUDIPTUTz ຊ౰ʹϑΝΠϧ͕࡟আ͞ΕΔ…

Slide 50

Slide 50 text

ةݥ͗͢Δ…

Slide 51

Slide 51 text

γΣϧݺͼग़͠ػೳ͕͋ΔPHPؔ਺ • system • exec • passthru • shell_exec • popen 51

Slide 52

Slide 52 text

ո͍͠೏͍ • PHPͷγΣϧݺͼग़͕͠Մೳͳؔ਺Λ࢖༻͍ͯ͠Δ 52 • system • exec • passthru • shell_exec • popen

Slide 53

Slide 53 text

ࠜຊతղܾᶃ • γΣϧݺͼग़͠ػೳͷ͋ΔPHPؔ਺Λ࢖༻͠ͳ͍ • OSίϚϯυΛ࣮ߦ͠ͳ͍࣮૷ํ๏Λબ୒͢Δ • ྫʣOSίϚϯυͷ mail ΍ sendmail Λ࢖༻ͤͣ PHPͷmb_send_mailؔ਺Λ࢖༻͢Δ 53

Slide 54

Slide 54 text

ࠜຊతղܾᶄ • OSίϚϯυʹ౉͢ύϥϝʔλʔΛΤεέʔϓ͢Δ͜ͱ ʹΑΓɺҰͭͷจࣈྻͱͯ͠஋Λ౉ͤΔͷͰ҆શʹͳΔ • PHPͰ͸ɺescapeshellarg Λ࢖༻͢Δ 54

Slide 55

Slide 55 text

อݥతରࡦ • ύϥϝʔλʔͷݕূ • Ҿ਺ΛݫີʹνΣοΫͯ͠ɺڐՄͨ͠ύϥϝʔλʔͷΈ Λ௨͢ 55

Slide 56

Slide 56 text

ηογϣϯ؅ཧͷෆඋ

Slide 57

Slide 57 text

ηογϣϯ؅ཧͷෆඋͱ͸ • ηογϣϯͷൃߦͱ؅ཧʹෆඋ͕͋৔߹ʹൃੜ͢Δ੬ऑ ੑ 57

Slide 58

Slide 58 text

߈ܸྫ • ηογϣϯϋΠδϟοΫ • ηογϣϯIDͷݻఆԽ / ผ໊: Session Fixation 58

Slide 59

Slide 59 text

ηογϣϯϋΠδϟοΫͱ͸ • ηογϣϯIDΛԿΒ͔ͷํ๏Ͱ౪ΈɺଞਓʹͳΓ͢·͢͜ͱ 59 ߈ܸऀ ར༻ऀ ੬ऑੑͷ͋ΔαΠτ ᶃ߈ܸεΫϦϓτΛ ࢓ࠐΉ ᶄ੬ऑੑͷ͋ΔαΠτʹ
 ΞΫηε͢Δ ᶅηογϣϯ*%Λ౪Έग़͠ ᶆ੒Γ͢·͠ϩάΠϯ

Slide 60

Slide 60 text

ηογϣϯIDͷݻఆԽ߈ܸ • ߈ܸऀ͕औಘͨ͠ηογϣϯIDΛαΠτͷ੬ऑੑΛར༻ͯ͠ɺ
 Ϣʔβʔʹނҙʹઃఆͤ͞Δɻར༻ऀ͕ϩάΠϯ͢Δ͜ͱͰɺ
 ߈ܸऀͷͳΓ͢·͠Λ੒ཱͤ͞Δ 60 ߈ܸऀ ར༻ऀ ੬ऑੑͷ͋ΔαΠτ ᶃαΠτʹΞΫηεͯ͠
 ηογϣϯ*%Λऔಘ ᶄηογϣϯ*%ͷૹΓࠐΈ ᶅαΠτʹϩάΠϯ ᶆͳΓ͢·͠੒ཱ

Slide 61

Slide 61 text

Ͳ͏΍ͬͯར༻ऀʹηογϣϯIDΛૹΓࠐΉͷ͔ • ηογϣϯɾΞμϓγϣϯ / Session Adoption • ࣗ෼͕ൃߦ͍ͯ͠ͳ͍ηογϣϯIDΛ༗ޮͳηογϣϯIDͱͯ͠ڐՄ
 ͯ͠͠·͏͜ͱ • ࠶ݱྫʣ 1.URLʹΑΔηογϣϯID͕อ࣋Ͱ͖Δঢ়ଶͱ͢Δ 2.߈ܸंʹΑΓ֎෦αΠτ͔Β http://example.jp/?PHPSESSID=hoge ʹ༠ಋ͞ΕΔ 3.ར༻ऀ͸ͦͷঢ়ଶͰϩάΠϯ͢Δ 61 ηογϣϯIDͷURLอ࣋Մઃఆ
 session.use_cookies: 1 session.use_only_cookies: 0 session.use_trans_sid: 1

Slide 62

Slide 62 text

ڴҖ • ৘ใ࿙͍͑ • ϩάΠϯޙʹར༻ऀͷΈ͕ӾཡՄೳͳ৘ใͷӾཡɺૢ ࡞ɺѱ༻ 62

Slide 63

Slide 63 text

ݪҼ 1. XSS • ෆਖ਼ͳεΫϦϓτʹΑΓηογϣϯID͕औಘ͞ΕΔ • ηογϣϯϋΠδϟοΫʹѱ༻͞ΕΔ 2. ਪଌՄೳͳηογϣϯID • ηογϣϯID͕ਪଌ͞ΕΔ͜ͱʹΑΓηογϣϯID͕औಘ͞ΕΔ • ηογϣϯϋΠδϟοΫʹѱ༻͞ΕΔ 3. ηογϣϯIDͷURLύϥϝʔλʔར༻ • ྫ) http://example.jp/?PHPSESSID=XXX • ࠷ۙͷγεςϜͰ͸΄΅ແ͍ɻݹ͍ΨϥέʔγεςϜʹݟΒΕΔ • RefererϔομʔʹΑΓηογϣϯID͕࿙Ӯ͢Δ • ηογϣϯϋΠδϟοΫ/ηογϣϯIDͷݻఆԽʹѱ༻͞ΕΔ 4. ೝূલޙͰηογϣϯID͕ಉ͡ • ηογϣϯIDͷݻఆԽʹѱ༻͞ΕΔ 63

Slide 64

Slide 64 text

ࠜຊతղܾ 1.XSSରࡦ 2.ηογϣϯIDΛਪଌࠔ೉ͳ΋ͷʹ͢Δ 3.ηογϣϯID͸ΫοΩʔͷΈͰอ࣋͢Δ 4.ೝূ͕੒ޭͨ͠Β৽͍͠ηογϣϯΛ։࢝͢Δ 64

Slide 65

Slide 65 text

XSSରࡦ 65 w ΢Σϒϖʔδ্ͷશͯͷग़ྗՕॴͰΤεέʔϓॲཧΛ͢Δ w Ϣʔβʔ͕ೖྗͨ͠จࣈྻΛ)5.-λάͱͯ͠ղऍ͠ͳ͍Α͏ʹॲཧ Λ͢Δ͜ͱ w ಛघจࣈΛ)5.-ΤϯςΟςΟʹม׵͢Δ͜ͱͰରԠͰ͖Δ ˠ MU ˠ HU l ˠ RVPU ` ˠ ˠ BNQ

Slide 66

Slide 66 text

ηογϣϯIDΛਪଌࠔ೉ͳ΋ͷʹ͢Δ • ҆શͳཚ਺ΛݩʹηογϣϯIDΛൃߦ͢Δ • PHP5.4Ҏ߱ • ҉߸࿦తٖࣅཚ਺ੜ੒ث(CSPRNG) Λ࢖༻ͯ҆͠શͳηογϣϯID͕ൃߦ͞ΕΔ Α͏ʹͳ͍ͬͯΔ • PHP5.4ະຬ • php.iniʹҎԼઃఆΛՃ͑ͯ҆શͳηογϣϯཚ਺ΛݩʹηογϣϯIDΛൃߦ͢Δ 66 [Session] session.entropy_file = /dev/urandom session.entroy_length = 32 PHP 5.4͔ΒσϑΥϧτͰ͜ͷઃఆʹͳ͍ͬͯΔɻͦͷ··ͰOKɻ

Slide 67

Slide 67 text

ηογϣϯID͸ΫοΩʔͷΈͰอ࣋ɺURLύϥϝʔλʔͰอ࣋͠ͳ͍ 67 ໊લ σϑΥϧτ஋ આ໌ TFTTJPOVTF@DPPLJFT lz ηογϣϯͷอ࣋ʹΫοΩʔΛ
 ར༻͢Δ TFTTJPOVTF@POMZ@DPPLJFT lz ΫοΩʔͷΈʹηογϣϯΛ
 อ࣋͢Δ TFTTJPOVTF@USBOT@TJE lz 63-ʹηογϣϯ*%อ࣋Λ
 ͠ͳ͍ σϑΥϧτ஋ͷ··Ͱ php.iniઃఆ

Slide 68

Slide 68 text

ೝূ͕੒ޭͨ͠Β৽͍͠ηογϣϯΛ։࢝͢Δ • ʮsession_regenerate_id(true) ʯͰݹ͍ηογϣϯΛ
 ഁغͯ͠৽͍͠ηογϣϯIDΛൃߦ • ηογϣϯIDͷݻఆԽ߈ܸͷ๷ࢭ 68

Slide 69

Slide 69 text

ͥͻطଘઃఆΛݟ௚ͯ͠Έ͍ͯͩ͘͞

Slide 70

Slide 70 text

ࢀߟɾҾ༻ࢿྉ

Slide 71

Slide 71 text

• ମܥతʹֶͿ ҆શͳWebΞϓ Ϧέʔγϣϯͷ࡞Γํ ୈ2൛ ੬ ऑੑ͕ੜ·ΕΔݪཧͱରࡦͷ࣮ ફ / ಙؙ ߒ (ஶ) • IPA ҆શͳ΢ΣϒαΠτͷ࡞Γ ํ ୈ7൛
 https://www.ipa.go.jp/ security/vuln/websecurity.html 71

Slide 72

Slide 72 text

·ͱΊ

Slide 73

Slide 73 text

·ͱΊ • զʑͷγεςϜɾαʔϏε͸ৗʹૂΘΕ͍ͯΔ • αʔϏεͷ҆શੑΛߴΊΔͨΊʹ͸ɺΤϯδχΞࣗ਎ͷ WebηΩϡϦςΟೳྗ޲্͕ඞཁ • ຊ೔ڞ༗ͨ͠੬ऑੑରࡦΛ͖͔͚ͬʹօ͞Μͷ
 αʔϏεɾγεςϜͷ҆શੑ͕޲্Ͱ͖ͨΒ޾͍Ͱ͢ 73

Slide 74

Slide 74 text

ิ଍ࢿྉ

Slide 75

Slide 75 text

CookieʹSecureଐੑΛՃ͑Δ • HTTPS௨৴࣌ͷΈCookie͕ϒϥ΢β͔Βૹ৴ͤ͞ɺ
 HTTP௨৴࣌ͷCookieྲྀग़Λ๷͙ • php.ini ͷ session.cookie_secure Λ 1 ʹ͢Δ͜ͱͰରԠՄ 75 ग़య: https://www.php.net/manual/ja/session.configuration.php#ini.session.cookie-secure

Slide 76

Slide 76 text

76 ग़య: http://dsas.blog.klab.org/archives/52136166.html

Slide 77

Slide 77 text

ཁ఺: PHPͷηογϣϯID͸҉߸࿦తʹऑ͍ཚ਺ੜ ੒ثΛ࢖͓ͬͯΓɺηογϣϯϋΠδϟοΫͷةݥ ੑ͕͋Δ • PHPͷηογϣϯIDͷൃߦॲཧʹɺҎԼͷ૊Έ߹ΘͤΛMD5ʹ௨͠ ͯੜ੒͍ͯ͠ΔɻۃΊͯݶఆతͳ৚͕݅ͩɺηογϣϯIDͷਪଌՄ ೳͱ͍͏࿦จ͕ެද͞Ε͍ͯΔɻ • ϦϞʔτIPΞυϨε • λΠϜελϯϓ • ཚ਺ʢ҉߸࿦తٙࣅཚ਺ൃੜثͰ͸ͳ͍ 77 ग़య: http://dsas.blog.klab.org/archives/52136166.html