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
ikuwow
June 06, 2015
Programming
0
890
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.4k
意外と使える! Alibaba Cloud
ikuwow
0
230
teratailの解析基盤をEFKで作っていろいろ楽しい話
ikuwow
0
830
UNIXという考え方
ikuwow
1
1.9k
技術書紹介 パーフェクトPHP
ikuwow
0
2.1k
みんなもMiddlemanで技術ブログ作って幸せになろう!
ikuwow
0
940
Other Decks in Programming
See All in Programming
DevFest - Serverless 101 with Google Cloud Functions
tunmise
0
140
Kanzawa.rbのLT大会を支える技術の裏側を変更する Ruby on Rails + Litestream 編
muryoimpl
0
120
JavaScriptツール群「UnJS」を5分で一気に駆け巡る!
k1tikurisu
8
1.3k
バックエンドのためのアプリ内課金入門 (サブスク編)
qnighy
7
1.5k
[JAWS-UG横浜 #79] re:Invent 2024 の DB アップデートは Multi-Region!
maroon1st
0
130
サーバーゆる勉強会 DBMS の仕組み編
kj455
1
360
AHC041解説
terryu16
0
540
Vue.jsでiOSアプリを作る方法
hal_spidernight
0
120
ASP.NET Core の OpenAPIサポート
h455h1
0
160
動作確認やテストで漏れがちな観点3選
starfish719
5
860
Оптимизируем производительность блока Казначейство
lamodatech
0
990
Запуск 1С:УХ в крупном энтерпрайзе: мечта и реальность ПМа
lamodatech
0
990
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
427
64k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7k
Java REST API Framework Comparison - PWX 2021
mraible
28
8.4k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
28
2.2k
Music & Morning Musume
bryan
46
6.3k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.3k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
A better future with KSS
kneath
238
17k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
Agile that works and the tools we love
rasmusluckow
328
21k
Six Lessons from altMBA
skipperchong
27
3.6k
A designer walks into a library…
pauljervisheath
205
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