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

PHPサイバーテロの技法 書籍紹介

46d57e2c568a65ade212f56539687bc2?s=47 ikuwow
June 06, 2015

PHPサイバーテロの技法 書籍紹介

社内勉強会で「PHPサイバーテロの技法」を紹介しました
http://ikuwow.website/entry/php-cyberterro/

46d57e2c568a65ade212f56539687bc2?s=128

ikuwow

June 06, 2015
Tweet

Transcript

  1. ॻ੶঺հɿ PHPαΠόʔςϩͷٕ๏ ʙ߈ܸͱ๷ޚͷ࣮ࡍʙ 2015/06/03(Fri) Ι͘Λʢikuwowʣ

  2. ࣗݾ঺հ • Ι͘Λʢikuwowʣ • झຯ αʔόʔߏஙɾ؅ ཧࣗಈԽ • ϚΠϒʔϜ ࿥ըαʔόʔ

    • ޷͖ͳ৭ ࢵ @ikuwow 
  3. ֓ཁ • ஶऀ GIJOE • AmazonϨϏϡʔ਺18ɺ
 ධՁ4.6 • 2005೥ॳ൛ୈ1࡮ൃߦ
 2011೥ॳ൛ୈ10࡮ൃߦ

     ʁʂ
  4. ຊͷ໨࣍ 1.WebΞϓϦέʔγϣϯͷηΩϡϦςΟͱ͸ 2.WebΞϓϦέʔγϣϯΛ࣮ࡍʹ߈ܸͯ͠ΈΑ͏ 3.߈ܸํ๏14छྨ૯͟Β͑ 4.WebΞϓϦέʔγϣϯηΩϡϦςΟͷཧ࿦ 5.HTTPηογϣϯ͔Β߈ܸͷຊ࣭Λ஌Δ 6.੬ऑੑεΩϟφʔΛར༻͢Δ 7.νϟʔτࣜ:੬ऑੑͷݟ͚ͭํ  ͍ΘΏΔʮWebηΩϡϦςΟͷຊʯ

    ex. XSSɺCSRFɺSQLΠϯδΣΫγϣϯɺ…
  5. ͜ͷຊͷಛ௃ΛҰݴͰݴ͏ͱ 

  6. ߈ܸํ๏ʹ஫໨ͨ͠ WebηΩϡϦςΟͷ ϨϑΝϨϯε

  7. ʮຊॻͰ͸ɺ߈ܸํ๏Λղઆ͠ɺ ͦΕʹର͢Δద੾ͳ๷ޚํ๏Λ ໌͍ࣔͯ͠·͢ɻ ։ൃऀ͕҆શͰ߈ܸʹڧ͍ ΞϓϦέʔγϣϯΛ࡞Δ্Ͱɺ ඞཁͳ஌ࣝΛ͜ͷҰ࡭ʹڽॖɻʯ ʢຊͷଳΑΓʣ

  8. ͜ͷຊͷελϯε • ʮηΩϡϦςΟ͸߈ܸํ๏͋Γ͖ʯ • ʮຊॻ࠷େͷςʔϚ͸໢ཏੑͰ͢ʯ
 ʮશ14छͷ߈ܸํ๏ʯ • ʮWebʹ͓͚ΔηΩϡϦςΟରࡦ͸Webඪ४Խ΍ MVCΑΓ΋͸Δ͔ʹ༏ઌ౓͕ߴ͘ɺݴޠͷجૅจ ๏ͷ͙࣍͢ʹ֮͑Δ΋ͷʯ

     ʢʮ͸͡ΊʹʯΑΓʣ
  9. ಙؙຊͱൺֱ ɾ੬ऑੑʹ஫໨
 ɾಡΈ෺త ɾ߈ܸํ๏ʹ஫໨
 ɾϨϑΝϨϯεత

  10. ͦͷଞΑ͍ͱ͜Ζ • ઌʹαϯϓϧίʔυΛग़ͯ͠߈ܸΛࢼΈΔ • ʮରࡦࣦഊྫʯʮෳ਺ͷରࡦྫʯʮϝϦο τɾσϝϦοτʯͳͲ಺༰͕ॆ࣮͍ͯ͠Δ  <?php // ੬ऑੑ

    readfile(‘/home/username/mydata/‘.$_GET[‘file_name’]); // ରࡦࣦഊྫ readfile(‘/home/user/name/mydata/’.str_replace(‘../‘,’’, $_GET[‘file_name’])); // ରࡦ੒ޭྫ readfile(‘/home/user/name/mydata/’.basename($_GET[‘file_name’]));
  11. ಡΜͰಘΒΕͨҰͭͷڭ܇ 

  12. ϢʔβʔΛ ৴༻͠ͳ͍

  13. ϢʔβʔΛ৴༻͠ͳ͍ • ΞϓϦέʔγϣϯʹͲΜͳϦΫΤετ͕ඈΜͰ͘Δ͔Θ͔Βͳ͍ • Ϣʔβʔ͔Βͷೖྗ͸ৗʹ࠷ѱͷঢ়گΛߟ͑Δ • Ϣʔβʔ͔Βͷೖྗ͸ಟΛ͍࣋ͬͯΔͱߟ͑Δ • => αχλΠζʢhtmlspecialchars()ɺ໌ࣔతͳΩϟετɺಈతͳ

    ϑΝΠϧಡΈࠐΈɾ࣮ߦΛڐ͞ͳ͍ɺ… etc. Ϣʔβʔ͔ΒͷೖྗΛ௚઀γεςϜʹ౉͞ͳ͍͜ͱ͕ॏཁ
  14. ͜ͷຊΛಡΉͱ͖ͷ஫ҙ఺

  15. ݹ͍

  16. ݹ͍ • 2005೥12݄ॳ൛ୈҰ࡮ൃߦ • PHP͕ݹ͍ʢPHP4ʙ5.1ʣ
 ɾmysql_query(), register_globals, safe_mode, … etc.

    • ίʔυ΍ؔ਺ʹ͍ͭͯͷ෦෼͸ඞͣ
 PHPͷυΩϡϝϯτΛࢀর͠ͳ͕ΒಡΉ͜ͱ
  17. ಡΉͱ͍͍ਓ • MVCϑϨʔϜϫʔΫʹ؁΍͔͞Εͨ
 ΏͱΓWebʢPHPʣΤϯδχΞ  42-ΠϯδΣΫγϣϯͳΜͯ ϑϨʔϜϫʔΫ͕ରࡦͯ͘͠ΕΔͰ͠ΐʁ )551ϔομͱ͔ ݟͯ΋Α͘Θ͔Γ·ͤΜ

  18. ͳΜͷ໾ʹཱ͔ͭ • ʮ͜ΕηΩϡϦςΟʹ݀͋Δɾɾɾʁʯͱࢥͬ ͨ࣌ʹऔΓग़ͯ֬͠ೝ • ߈ܸऀͷ໨ઢͰηΩϡϦςΟΛ֬ೝͰ͖Δ • ຊ౰ʹରࡦ͞Ε͍ͯΔ͔ෆ҆ʹͳͬͯϑϨʔ ϜϫʔΫͷιʔεΛಡΈͨ͘ͳΔ 

  19. ·ͱΊ • ʮPHPαΠόʔςϩͷٕ๏ʯ͸߈ܸํ๏ʹ஫໨ͨ͠Web ηΩϡϦςΟͷϨϑΝϨϯεɻͨ·ʹಡΈͨ͘ͳΔຊɻ • ֶ΂ΔηΩϡϦςΟͷݪଇ
 ʮϢʔβʔΛ৴༻͠ͳ͍ʯ • ٕज़ॻͱͯ͠͸͔ͳΓݹ͍ຊͳͷͰ
 10೥ͱ͍͏࣌୅ͷҧ͍ʹ஫ҙ

    ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠
  20. ҎԼิॿεϥΠυ 

  21. ʮશ14छͷ߈ܸํ๏ʯ 1.XSSʢΫϩεαΠτεΫϦϓςΟϯάʣ 2.ίϯςϯπ಺ʹJavaScriptຒΊࠐΈ 3.SQLΠϯδΣΫγϣϯ 4.CSRFʢΫϩεαΠτϦΫΤετϑΥʔδΣϦʣ 5.ψϧόΠτ߈ܸ 6.σΟϨΫτϦτϥόʔαϧ 7.؀ڥม਺Ԛછ߈ܸ 8.HTTPϨεϙϯε෼ׂ߈ܸ 9.ΠϯΫϧʔυ߈ܸ

    10.evalར༻߈ܸ 11.֎෦ίϚϯυ࣮ߦ߈ܸ 12.ϑΝΠϧΞοϓϩʔυ߈ܸ 13.ηογϣϯϋΠδϟοΫ 14.εύϜϝʔϧ౿Έ୆߈ܸ શ14छͱஅݴͯ͠Δ => ໢ཏੑ 
  22. ࡞ऀ • GIJOEʢຊ໊ ޙ౻ๆཅʣ • ౦ژग़਎ɻେֶ࣌୅͸ੜ෺ֶΛઐ߈͠…ʢུʣ • ߴ໦ߒޫࢯͱGIJOEࢯͷ࿦૪ʹ͍ͭͯɺGIJOEࢯ ʹ൓࿦ͯ͠ΈΔ
 http://blogs.yahoo.co.jp/quitthemusic/

    24047659.html