Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
PHPサイバーテロの技法 書籍紹介
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
ikuwow
June 06, 2015
Programming
0
970
PHPサイバーテロの技法 書籍紹介
社内勉強会で「PHPサイバーテロの技法」を紹介しました
http://ikuwow.website/entry/php-cyberterro/
ikuwow
June 06, 2015
Tweet
Share
More Decks by ikuwow
See All by ikuwow
Elasticsearch on EC2からAmazon Elasticsearch Serviceに 移行してだいぶ楽になった話
ikuwow
0
3.5k
意外と使える! Alibaba Cloud
ikuwow
0
240
teratailの解析基盤をEFKで作っていろいろ楽しい話
ikuwow
0
890
UNIXという考え方
ikuwow
1
2k
技術書紹介 パーフェクトPHP
ikuwow
0
2.1k
みんなもMiddlemanで技術ブログ作って幸せになろう!
ikuwow
0
980
Other Decks in Programming
See All in Programming
AIに任せる範囲を安全に広げるためにやっていること
fukucheee
0
130
社内規程RAGの精度を73.3% → 100%に改善した話
oharu121
13
8k
20260228_JAWS_Beginner_Kansai
takuyay0ne
5
510
クライアントワークでSREをするということ。あるいは事業会社におけるSREと同じこと・違うこと
nnaka2992
1
340
AHC061解説
shun_pi
0
370
AI 開発合宿を通して得た学び
niftycorp
PRO
0
100
どんと来い、データベース信頼性エンジニアリング / Introduction to DBRE
nnaka2992
1
280
Claude Code の Skill で複雑な既存仕様をすっきり整理しよう
yuichirokato
1
370
技術検証結果の整理と解析をAIに任せよう!
keisukeikeda
0
120
エージェント開発初心者の僕がエージェントを作った話と今後やりたいこと
thasu0123
0
240
OTP を自動で入力する裏技
megabitsenmzq
0
100
猫の手も借りたい!ので AIエージェント猫を作って社内に放した話 Claude Code × Container Lambda の Slack Bot "DevNeko"
naramomi7
0
260
Featured
See All Featured
So, you think you're a good person
axbom
PRO
2
2k
Odyssey Design
rkendrick25
PRO
2
540
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.2k
Side Projects
sachag
455
43k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
640
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
190
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
100
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
The Language of Interfaces
destraynor
162
26k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
120
A designer walks into a library…
pauljervisheath
210
24k
Transcript
ॻ੶հɿ PHPαΠόʔςϩͷٕ๏ ʙ߈ܸͱޚͷ࣮ࡍʙ 2015/06/03(Fri) Ι͘Λʢikuwowʣ
ࣗݾհ • Ι͘Λʢikuwowʣ • झຯ αʔόʔߏஙɾ ཧࣗಈԽ • ϚΠϒʔϜ ըαʔόʔ
• ͖ͳ৭ ࢵ @ikuwow
֓ཁ • ஶऀ GIJOE • AmazonϨϏϡʔ18ɺ ධՁ4.6 • 2005ॳ൛ୈ1ൃߦ 2011ॳ൛ୈ10ൃߦ
ʁʂ
ຊͷ࣍ 1.WebΞϓϦέʔγϣϯͷηΩϡϦςΟͱ 2.WebΞϓϦέʔγϣϯΛ࣮ࡍʹ߈ܸͯ͠ΈΑ͏ 3.߈ܸํ๏14छྨ૯͟Β͑ 4.WebΞϓϦέʔγϣϯηΩϡϦςΟͷཧ 5.HTTPηογϣϯ͔Β߈ܸͷຊ࣭ΛΔ 6.੬ऑੑεΩϟφʔΛར༻͢Δ 7.νϟʔτࣜ:੬ऑੑͷݟ͚ͭํ ͍ΘΏΔʮWebηΩϡϦςΟͷຊʯ
ex. XSSɺCSRFɺSQLΠϯδΣΫγϣϯɺ…
͜ͷຊͷಛΛҰݴͰݴ͏ͱ
߈ܸํ๏ʹͨ͠ WebηΩϡϦςΟͷ ϨϑΝϨϯε
ʮຊॻͰɺ߈ܸํ๏Λղઆ͠ɺ ͦΕʹର͢Δదͳޚํ๏Λ ໌͍ࣔͯ͠·͢ɻ ։ൃऀ͕҆શͰ߈ܸʹڧ͍ ΞϓϦέʔγϣϯΛ࡞Δ্Ͱɺ ඞཁͳࣝΛ͜ͷҰʹڽॖɻʯ ʢຊͷଳΑΓʣ
͜ͷຊͷελϯε • ʮηΩϡϦςΟ߈ܸํ๏͋Γ͖ʯ • ʮຊॻ࠷େͷςʔϚཏੑͰ͢ʯ ʮશ14छͷ߈ܸํ๏ʯ • ʮWebʹ͓͚ΔηΩϡϦςΟରࡦWebඪ४Խ MVCΑΓΔ͔ʹ༏ઌ͕ߴ͘ɺݴޠͷجૅจ ๏ͷ͙࣍͢ʹ֮͑Δͷʯ
ʢʮ͡ΊʹʯΑΓʣ
ಙؙຊͱൺֱ ɾ੬ऑੑʹ ɾಡΈత ɾ߈ܸํ๏ʹ ɾϨϑΝϨϯεత
ͦͷଞΑ͍ͱ͜Ζ • ઌʹαϯϓϧίʔυΛग़ͯ͠߈ܸΛࢼΈΔ • ʮରࡦࣦഊྫʯʮෳͷରࡦྫʯʮϝϦο τɾσϝϦοτʯͳͲ༰͕ॆ࣮͍ͯ͠Δ <?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’]));
ಡΜͰಘΒΕͨҰͭͷڭ܇
ϢʔβʔΛ ৴༻͠ͳ͍
ϢʔβʔΛ৴༻͠ͳ͍ • ΞϓϦέʔγϣϯʹͲΜͳϦΫΤετ͕ඈΜͰ͘Δ͔Θ͔Βͳ͍ • Ϣʔβʔ͔Βͷೖྗৗʹ࠷ѱͷঢ়گΛߟ͑Δ • Ϣʔβʔ͔ΒͷೖྗಟΛ͍࣋ͬͯΔͱߟ͑Δ • => αχλΠζʢhtmlspecialchars()ɺ໌ࣔతͳΩϟετɺಈతͳ
ϑΝΠϧಡΈࠐΈɾ࣮ߦΛڐ͞ͳ͍ɺ… etc. Ϣʔβʔ͔ΒͷೖྗΛγεςϜʹ͞ͳ͍͜ͱ͕ॏཁ
͜ͷຊΛಡΉͱ͖ͷҙ
ݹ͍
ݹ͍ • 200512݄ॳ൛ୈҰൃߦ • PHP͕ݹ͍ʢPHP4ʙ5.1ʣ ɾmysql_query(), register_globals, safe_mode, … etc.
• ίʔυؔʹ͍ͭͯͷ෦ඞͣ PHPͷυΩϡϝϯτΛࢀর͠ͳ͕ΒಡΉ͜ͱ
ಡΉͱ͍͍ਓ • MVCϑϨʔϜϫʔΫʹ͔͞Εͨ ΏͱΓWebʢPHPʣΤϯδχΞ 42-ΠϯδΣΫγϣϯͳΜͯ ϑϨʔϜϫʔΫ͕ରࡦͯ͘͠ΕΔͰ͠ΐʁ )551ϔομͱ͔ ݟͯΑ͘Θ͔Γ·ͤΜ
ͳΜͷʹཱ͔ͭ • ʮ͜ΕηΩϡϦςΟʹ݀͋Δɾɾɾʁʯͱࢥͬ ͨ࣌ʹऔΓग़ͯ֬͠ೝ • ߈ܸऀͷઢͰηΩϡϦςΟΛ֬ೝͰ͖Δ • ຊʹରࡦ͞Ε͍ͯΔ͔ෆ҆ʹͳͬͯϑϨʔ ϜϫʔΫͷιʔεΛಡΈͨ͘ͳΔ
·ͱΊ • ʮPHPαΠόʔςϩͷٕ๏ʯ߈ܸํ๏ʹͨ͠Web ηΩϡϦςΟͷϨϑΝϨϯεɻͨ·ʹಡΈͨ͘ͳΔຊɻ • ֶΔηΩϡϦςΟͷݪଇ ʮϢʔβʔΛ৴༻͠ͳ͍ʯ • ٕज़ॻͱ͔ͯ͠ͳΓݹ͍ຊͳͷͰ 10ͱ͍͏࣌ͷҧ͍ʹҙ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠
ҎԼิॿεϥΠυ
ʮશ14छͷ߈ܸํ๏ʯ 1.XSSʢΫϩεαΠτεΫϦϓςΟϯάʣ 2.ίϯςϯπʹJavaScriptຒΊࠐΈ 3.SQLΠϯδΣΫγϣϯ 4.CSRFʢΫϩεαΠτϦΫΤετϑΥʔδΣϦʣ 5.ψϧόΠτ߈ܸ 6.σΟϨΫτϦτϥόʔαϧ 7.ڥมԚછ߈ܸ 8.HTTPϨεϙϯεׂ߈ܸ 9.ΠϯΫϧʔυ߈ܸ
10.evalར༻߈ܸ 11.֎෦ίϚϯυ࣮ߦ߈ܸ 12.ϑΝΠϧΞοϓϩʔυ߈ܸ 13.ηογϣϯϋΠδϟοΫ 14.εύϜϝʔϧ౿Έ߈ܸ શ14छͱஅݴͯ͠Δ => ཏੑ
࡞ऀ • GIJOEʢຊ໊ ޙ౻ๆཅʣ • ౦ژग़ɻେֶ࣌ੜֶΛઐ߈͠…ʢུʣ • ߴߒޫࢯͱGIJOEࢯͷ૪ʹ͍ͭͯɺGIJOEࢯ ʹͯ͠ΈΔ http://blogs.yahoo.co.jp/quitthemusic/
24047659.html