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
WordPress保安検査ガイド〜運用可能なセキュリティを始めるために〜 / wpcamp_h...
Search
yoshinori matsumoto
April 20, 2019
Technology
1
700
WordPress保安検査ガイド〜運用可能なセキュリティを始めるために〜 / wpcamp_haneda_security
yoshinori matsumoto
April 20, 2019
Tweet
Share
More Decks by yoshinori matsumoto
See All by yoshinori matsumoto
WordPress セキュリティガイド #wpmeetupkyoto / WP Security Guide
ym405nm
6
3.4k
FIDO2導入してみたを考えてみた / Around The Auth Capy Matsumoto
ym405nm
0
290
Hack L33t Fighters Ⅱ #owaspsendai
ym405nm
0
370
CAPYのFIDOへの取り組み / Capy FIDO
ym405nm
0
170
WordPress 管理者がおさえておきたい Web アプリケーションセキュリティ / owasp-wordpress-meetup
ym405nm
1
1.6k
Extreme Honyepotter
ym405nm
0
850
攻撃者からみたWordPressセキュリティ / WordCamp Kansai 2015
ym405nm
8
5k
コミュニティ活動からみるPHPセキュリティ / PHP Conference Kansai 2015
ym405nm
0
570
Other Decks in Technology
See All in Technology
Databricks AI/BI Genie の「値ディクショナリー」をAmazonの奥地(S3)まで見に行く
kameitomohiro
1
380
webpack依存からの脱却!快適フロントエンド開発をViteで実現する #vuefes
bengo4com
2
2.4k
Claude Code Subagents 再入門 ~cc-sddの実装で学んだこと~
gotalab555
10
17k
AWS UG Grantでグローバル20名に選出されてre:Inventに行く話と、マルチクラウドセキュリティの教科書を執筆した話 / The Story of Being Selected for the AWS UG Grant to Attending re:Invent, and Writing a Multi-Cloud Security Textbook
yuj1osm
1
130
映像エッジAIにおけるNode-RED活用事例
emirmatsui
0
140
組織改革から開発効率向上まで! - 成功事例から見えたAI活用のポイント - / 20251016 Tetsuharu Kokaki
shift_evolve
PRO
2
230
現場データから見える、開発生産性の変化コード生成AI導入・運用のリアル〜 / Changes in Development Productivity and Operational Challenges Following the Introduction of Code Generation AI
nttcom
1
440
事業開発におけるDify活用事例
kentarofujii
5
1.3k
serverless team topology
_kensh
3
150
物体検出モデルでシイタケの収穫時期を自動判定してみた。 #devio2025
lamaglama39
0
270
だいたい分かった気になる 『SREの知識地図』 / introduction-to-sre-knowledge-map-book
katsuhisa91
PRO
3
1.3k
生成AIを安心して活用するために──「情報セキュリティガイドライン」策定とポイント
gree_tech
PRO
0
250
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.7k
Java REST API Framework Comparison - PWX 2021
mraible
34
8.9k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
115
20k
The Cult of Friendly URLs
andyhume
79
6.6k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Speed Design
sergeychernyshev
32
1.2k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
How to train your dragon (web standard)
notwaldorf
97
6.3k
The Language of Interfaces
destraynor
162
25k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Balancing Empowerment & Direction
lara
5
700
Transcript
None
et r pc B C A mo d K ilk
y O h , 0 P W c aS sn , 5 6 2 1 06 , 0
Wcd h h S Wcd p I n J i
ov d rP t SI A A + 5 I 6 os h u b ae h u
) ( ۭߓͰ͜Μͳ͜ͱ͋Γ·ͤΜ͔ʁ
৬Ͱ͜Μͳ͜ͱ͋Γ·ͤΜ͔ 8PSE1SFTT ͳΜ͔ ةͳ͘Ͷ
! M 5 S W C P
) ( %SVQBMةͳ͍ͱ͍͏ߟ͑ /( Ͳͷ$.4Ͱ੬ऑੑ͕͋Δ ੬ऑੑͷରԠඞཁ ָͨͩ͠ʹ͢Δ͜ͱՄೳʁ Drupal
https://www.itmedia.co.jp/enterprise/articles/1902/28/news077.html
mi / A p . 1274 / A g tc
j s 7 A- 8 4381 2 4 4 8A4 1 82 4A 4 A ( 7 e hfn dfkl 7 A- 2 6 6 2 4 A 35 ) 06 0 608 :18 8 35 r S a_ r uo ͳΔ͘ૣ͘ରԠ ʢͰ͖ͨΒࣗಈԽ͍ͨ͠ʣ
• 8PSE1SFTTͷϩάΠϯΛकΔ • ੬ऑੑใΛ֬ೝ͢Δ • ϓϥάΠϯͱςʔϚΛબͿ • 8PSE1SFTTͷؔΛ͏ ཧऀ
։ൃऀ͚ ཧऀ ฤूऀ ߘऀ دߘऀ ߪಡऀ 8PSE1SFTTΛ҆શʹ͏ํ๏ʂ Ͱ͖Εָͳͭ શϢʔβ ʴЋ ࣄނ͕͓ͬͨ͜Β
XML RPC wp-login.php ͜͜ͷϩάΠϯػೳ͕ૂΘΕ͍͢
ΨνΨν σϑΥϧτ XQMPHJOQIQͷΞΫηε੍ݶʢ9.-31$ʣ ཁૉೝূɺΞΧϯτϩοΫ ύεϫʔυϙϦγʔͷ֬ೝ ϢʔβͲ͏͏͔Λߟ͑ͳ͕Βઃఆ͢Δ *1ΞυϨε͕ݻఆՄೳ͔ʁ ηΩϡϦςΟͷzෛՙzʢ໘ࣄʣΛ͓ئ͍Ͱ͖Δ͔ʁ ӡӦऀͷෛ୲ͲΕ͘Β͍ڐ༰Ͱ͖Δ͔ʁ
ΞΧϯτ໊ਪଌ͞Ε͍ͯΔ BVUIPSͰΞΧϯτ͕ਪଌ ˠ͜͜Λมߋ͢Δͷ໘͍͘͞ ୠ͠ύεϫʔυ໊ʹΞΧϯτΛೖΕͳ͍͜ͱॏཁ
αΠτͷอޢ ϗϫΠτϦετ 8PSE1SFTTDPNͷ 440Λར༻
ސ٬͚ͷΞΧϯτཧ8PSE1SFTTͷ ʮ$VTUPNFSʯݖݶʢ8$ಠࣗʣͱͯ͠࡞͞ΕΔ XQMPHJOQIQܦ༝ͰϩάΠϯͰ͖Δ͕ ཧը໘ XQBENJOҎԼ ʹΞΫηεͰ͖ͳ͍ •
8PSE1SFTTͷϩάΠϯϑΥʔϜͱಉ͡ڧ • ௨ৗϩάΠϯͱҧ͍ʮOPODFʯ͍͍ͭͯΔ͕ɺϫϯλΠϜͰ ͳ͍ͷͰϒϧʔτϑΥʔεରࡦʹඍົ • ϩάΠϯอޢܥͷϓϥάΠϯͦͷ··͑Δ ʢ-PHJO-PDL%PXO $SB[ZCPOF ͳͲͰݕͰ͖ͨʣ
Ϩϯλϧαʔόͷ߹ ଞαΠτ ଞαΠτ .Z 8PSE1SFTT ͋ͳͨ
'51αʔό ڞ༻αʔό '51ΞΧϯτ 81ΞΧϯτ ίϯύω ΞΧϯτ αʔό ܖใ ϗεςΟϯάձࣾͷೋཁૉೝূΛ༗ޮʹ͢Δ ͦΕͧΕύεϫʔυΛ͍·Θ͞ͳ͍ '51ΫϥΠΞϯτ࠷৽൛Λ͏ ͳΔ͘'51Θͳ͍ ίϯύω
714ΫϥυαʔϏεͷ߹ ͋ͳͨ 714 81ΞΧϯτ ίϯύω ΞΧϯτ
αʔό ܖใ ϗεςΟϯάձࣾͷೋཁૉೝূΛ༗ޮʹ͢Δ αʔόͷ44)ϩάΠϯެ։伴ೝূ ʢύεϫʔυແޮʣʹ͢Δ ηΩϡϦςΟάϧʔϓͳͲઃఆ ίϯύω .Z 8PSE1SFTT 44)% αʔόΞΧϯτ
2աڈʹ XQMPHJOQIQ ʹΞΫηε͕͋ͬͨ*1ΞυϨεΛ ϒϩοΫ͍ͯ͠Δ͕ޮՌ͋Δͷ͔ʁ ΞΫηεϩά
Attack IP .htaccess ϩάΠϯը໘ʹ͘ΞΫηε͍ͯ͠Δ*1ͦͷมߋ͞ΕΔͨΊɺ *1ΞυϨεͷϒϥοΫϦετΛཧ͢Δͷ͍͠ɻ ·ͨɺݱঢ়ւ֎ͷ*1ΞυϨεଳҬʹଟ͍͋Δ͕ɺ ࠓޙࠃ*1ΞυϨεͰͷεΩϟϯߟ͑ΒΕΔͨΊɺ ࠃ͝ͱͷΞΫηε੍ݶΛա৴͠ͳ͍Α͏ʹҙ͕ඞཁɻ
2ϩάΠϯը໘ʹ#BTJDೝূ͍ΕΔ͖ʁ ೖΕ͍͍͚ͯͲɺ໘ʹͯ͠·ͰͷϝϦοτͳ͍͔ ʢಛʹฏจ௨৴Λߦ͍ͬͯΔαΠτةݥʣ 81ͷػೳͰΧόʔͰ͖ΔͷͰϝϦοτΛڗडͰ͖ͳ͍ σϝϦοτղܾ͍ͯ͠ͳ͍ https://www.ipa.go.jp/security/awareness/vendor/programmingv2/contents/003.html
μογϡϘʔυʹ͋Δߋ৽ใཁ֬ೝ • ຊମ • ςʔϚ • ϓϥάΠϯ
ຊମ ςʔϚ ϓϥάΠϯ ΦʔτΞοϓσʔτͷର ϝδϟʔΞοϓσʔτཧը໘͔Β ΦʔτΞοϓσʔτͷର֎ ཧը໘͔Β ΦʔτΞοϓσʔτͷର֎ ཧը໘͔Β
8PSE1SFTT͔Βಋೖ σϑΥϧτͰ༗ޮ ϚΠφʔΞοϓσʔτʢηΩϡϦςΟΞοϓσʔτʣͷΈର ແޮʹ͢Δ͜ͱՄೳ
ˠΑͬΆͲͷཧ༝͕ͳ͍ݶΓແޮʹ͠ͳ͍ 2018/12 2019/3 2019/2 2019/3 ΦʔτΞοϓσʔτ खಈ Ξοϓσʔτ ΦʔτΞοϓσʔτ ݪଇతʹαϙʔτ࠷৽൛Ͱ͋Δ͕ɺ ηΩϡϦςΟύον͕ग़Δ͜ͱ͋Δ
IUUQTXXXBTBIJDPNBSUJDMFT"4,#)4,#6-0#IUNM 8PSE1SFTTͷ੬ऑੑରࡦʹ͍ͭͯ IUUQTXXXJQBHPKQTFDVSJUZDJBESWVMXPSEQSFTTIUNM ຊମ Өڹड͚Δόʔδϣϯ ܥͦ͘͠ΕҎԼ ର֎ मਖ਼ࡁΈͷόʔδϣϯ
ΦʔτΞοϓσʔτର
ެతػؔ +1$&35$$ҙשى IUUQXXXKQDFSUPSKQBU +7/ IUUQTKWOKQ ϗεςΟϯάձࣾ ҙשىϝʔϧ ͜ͷ͋ͨΓʹग़ݱ͢Δ
ใʹཁҙʂ
Ή͔͍ͣ͠ΑʔΘ͔ΒΜͱ͍͏ํͷͨΊʹ • ೝূͳ͠ʢԕִͷɺୈࡾऀʹΑΔʙʣ • ֎෦͔ΒʢϦϞʔτ͔Βʣ • ίʔυ࣮ߦʢ3$&3FNPUF$PEF&YFDVUJPOʣ ͳͲ͕ଗ͏ͱཁҙ
ͪ͜Βͷ߲Ͱ߈ܸ͕؆୯͔Ͳ͏͔ͳͲΛ֬ೝ͢Δ ·ͨΦʔτΞοϓσʔτͰରԠͰ͖͍ͯΔ͔Ͳ͏͔
• 1)1ͷόʔδϣϯ͕ݹ͗͢ͳ͍͔ ˠ ͦͦ8PSE1SFTTಈ͔ͳ͘ͳΔ • 8FCαʔόʢ"QBDIF/HJOYʣͷόʔδϣϯ͕ݹ͗͢ͳ͍͔ ˠ ZVNVQEBUF
• ϑΝΠΞΥʔϧ JQUBCMFTηΩϡϦςΟάϧʔϓ ˠ ༻͍ͯ͠ͳ͍αʔϏε͕ىಈͨ͠··ʹͳ͍ͬͯͳ͍͔ • ϩάϩʔςʔγϣϯ • 44-Խ ˠ ύεϫʔυɾݸਓใΛѻ͏໘͋ͬͨ΄͏͕͍͍ɻ4&0తʹɻ Α͘Θ͔Βͳ͍ɺ໘͍͘͞ͱ͍͏ਓ Ϩϯλϧαʔό͘͠8PSE1SFTTDPNΛར༻͠·͠ΐ͏
Yuzo Related Posts Zero-Day Vulnerability Exploited in the Wild
https://www.wordfence.com/blog/2019/04/yuzo-related-posts-zero-day-vulnerability-exploited-in-the-wild/ ੬ऑੑΛѱ༻͞Ε εΫϦϓτΛຒΊࠐ·ΕΔ Ӿཡऀ͕࣮ߦ͢Δͱ ٗαΠτʹ༠ಋ͞ΕΔ ͦͷޙϓϥάΠϯআ͞ΕΔ ։ൃऀʹ௨͍͔ͳ͍ʂʁ
ͲͪΒٗαΠτʹ ༠ಋ͞ΕΔ 8PSE1SFTTϓϥάΠϯΛૂ͏߈ܸ͕׆ൃԽ͍ͯ͠Δ݅Λ·ͱΊͯΈͨ IUUQTQJZPMPHIBUFOBEJBSZKQFOUSZ
੬ऑੑΛѱ༻͞Ε ҙίʔυ͕࣮ߦ͞ΕΔ Ξοϓσʔτʹͯ ੬ऑੑରԠՄೳ
• αΠτվ͟Μ • όοΫυΞຒΊࠐΈ • ϑΝΠϧআͳͲ • ϑΟογϯάαΠτԽ • ِαΠτͷ༠ಋ ͳΜͰͰ͖Δ Duplicator Update Patches Remote Code Execution Flaw https://www.wordfence.com/blog/2018/09/duplicator-update-patches-remote-code-execution-flaw/
8PSE1SFTTͷࣄނରԠͰΑ͘ݟΔࣄྫ 8FC4IFMMͱ͍͏πʔϧΛαʔόʹஔ͔ΕΔ ͜ΕΛΩοΧέʹαʔόͰͷૢ࡞ΛߦΘΕΔ
मਖ਼ϝϯςφϯε͕Α͘ߦΘΕ͍ͯΔͷΛબͿ ظؒ์ஔ͞Ε͍ͯΔͷཁҙ ੬ऑੑͷ߈ܸํ๏͕·͍ͬͯΔՄೳੑ͋Γ ϓϥάΠϯςʔϚͷϖʔδͰ ͜ͷΑ͏ͳදه͕ग़Δͱཁҙ
όοΫΞοϓେࣄ 8PSE1SFTTͷඪ४తͳϩάڥ͚ͩͰɺ ༗ࣄͷͱ͖ʹඃঢ়گΛѲ͢Δ͜ͱ͕͍͠ ʢݪҼΛಛఆͨ͠͏͑Ͱʣ ฏৗ࣌ʹͯ͠͠·͏ํ͕ૣ͍͜ͱ͋Δ ɾιʔεϑΝΠϧ ɾ%#
%VNQϑΝΠϧ ͷόοΫΞοϓ͕͋Ε ͳΜͱ͔ͳΔ ϓϥάΠϯΛ׆༻͢Δͷ0, ੬ऑੑͱϥΠηϯεʹؾΛ͚ͭͯ
42-ΠϯδΣΫγϣϯ 944ʢΫϩεɾαΠτɾεΫϦϓςΟϯάʣ σʔλϕʔεͷ߈ܸ σʔλϕʔεͷ࿙͍͑ॻ͖͑ͳͲ ୈࡾऀʹΑΔ +BWB4DSJQUͷ࣮ߦ αΠτ๚ऀͷෆਖ਼αΠτͷ༠ಋɺ ϚϧΣΞμϯϩʔυͳͲ
8PSE1SFTT͕ఏڙ͢ΔؔΛ༻͍Δ The WordPress Codex Is Your Friend… $wpdb->prepare ϓϨʔεϗϧμʔΛͬͨΫΤϦͷอޢ wp_kses
esc_html / esc_attr ୈࡾऀʹΑΔ+BWB4DSJQUͷ࣮ߦࢭ How to Prevent File Upload Vulnerabilities https://www.wordfence.com/learn/how-to-prevent-file-upload-vulnerabilities/ current_user_can('upload_files') ݱࡏͷϢʔβ͕ݖݶΛ͔ͭɻ ྫͰΞοϓϩʔυݖݶΛ͔ͭͲ͏͔ wp_check_filetype ϑΝΠϧλΠϓΛνΣοΫ͢Δ .*/&λΠϓΛؚΊͯνΣοΫ͢Δඞཁ͕͋Δ
Q E C S 3 7 K d L E7
o i
8PSE1SFTTαΠτΛߏங͢Δͱ͍͘Β͔͔Δʁ ݟੵΓษڧձͰՁ֨Λग़ͯ͠Έͨ IUUQTUPZBPOFUXQXPSECFODI
8PSE1SFTTαΠτΛߏங͢Δͱ͍͘Β͔͔Δʁ ݟੵΓษڧձͰՁ֨Λग़ͯ͠Έͨ IUUQTUPZBPOFUXQXPSECFODI
8PSE1SFTTαΠτΛߏங͢Δͱ͍͘Β͔͔Δʁ ݟੵΓษڧձͰՁ֨Λग़ͯ͠Έͨ IUUQTUPZBPOFUXQXPSECFODI ¥488,355
ͱϗεςΟϯάձ͔ࣾΒ࿈བྷΛड͚ͨ ͦͷͨΊαΠτఀࢭத αΠτࣗͷϏδωεΠϯύΫτ͍ͨΊ ఀࢭࣗମʹେ͖ͳӨڹͳ͍͕ɺݪҼඃঢ়گΛ֬ೝޙɺ ҆શΛ֬ೝͨ͠͏͑ͰɺͳΔ͘ૣΊʹ࠶։͍ͤͨ͞ 2ηΩϡϦςΟϕϯμͷௐࠪඅ༻͍͘Β͍Ͱ͠ΐ͏
ʮਆށΈͳͱࣃՊʯͷαΠτʹΞΫηε͢Δͱ ෆਖ਼ͳαΠτʹϦμΠϨΫτ͞ΕΔ ఆࣄҊ
ྨ ༰ Ձ֨ ॳظௐࠪ ɾΞΫηεαʔόϩάௐࠪ
ɾϑΝΠϧεΩϟϯ ʢෆਖ਼ͳϑΝΠϧ͕ͳ͍͔ʣ ɾݸਓใ࿙ӮϦεΫఆ = ηΩϡϦςΟஅ ɾηΩϡϦςΟஅ ʢπʔϧஅɺຊஅ͓Αͼ࠶அʣ = Φϓγϣϯ ɾΦϯαΠτใࠂ = ظؒɿ̍िؒఔʢஅΛআ͘ʣ ೲɿௐࠪใࠂॻ ࡞Γ͢ͷͱ ͔ΘΒΜʼʻ
υϝΠϯͱ͔ͱಉ͡Ͱ࠷ޙ·Ͱཧ͢Δ͜ͱΛతͱ͢Δ ϦΞϧͳͩͱ อकαʔϏεΛένΒͳ͍ ཧͰ͖͍ͯͳ͍ΣϒαΠτดͷݕ౼Λ IUUQTXXXJQBHPKQTFDVSJUZDJBESWVMPMEDNTIUNM
• ͓٬༷ɺؔ࿈اۀɺಜிͷઆ໌ • 8"'ͳͲͷηΩϡϦςΟͱͷ৽نܖ • หޢ࢜අ༻ • ࠶ߏஙඅ༻ɺۀऀ࠶બఆ ݕ౼߲ ࣮ࢪ߲͕
͜ͷεϥΠυϑΟΫγϣϯͰ͢ ఘΊͯ࡞Γ͢΄͏͕҆͘Ͷʁ ͓͔͚ۚͯௐࠪͯ݁͠ہݪҼ͕͔Βͳ͔ͬͨ ͏ͪͰى͜ΔͱࢥΘͳ͔ͬͨɻ
өըͷΈ͍ͨ ͦ͏ͳΜͰ͕͢ɺ্ʹઆ໌͢Δͱ͔ͳΜͱ͔Ͱൃ͞ΕΔํ 8PSE1SFTTͷඪ४తͳϩάͩͱಛఆ͍͜͠ͱ͋Γ·͢ ·͊͜ͷεϥΠυϑΟΫγϣϯͰ͔͢Β
• 8PSE1SFTTͷϩάΠϯΛकΔ • ੬ऑੑใΛ֬ೝ͢Δ • ϓϥάΠϯͱςʔϚΛબͿ • 8PSE1SFTTͷؔΛ͏ • ηΩϡϦςΟΘʔ΄͘͠ͳ͍ʁʢ୭͔ʂ
8PSE1SFTTΛ҆શʹ͏ํ๏ʂ Ͱ͖Εָͳͭ
a r u t 9 ? W a r 9
9 9 W s a r = P e r ? = 914 o h P 1 d o h s= 9
45 0 0 0 .