WordPress セキュリティを考える会、SQLインジェクション、CSRF

847 views

Published on

WordPress セキュリティを考える会 第二回 at コワーキングスペース茅場町 Co-Edo (東京都中央区新川1-3-4 PAビル5F)


SQLインジェクション、CSRFには、WordPress 側で対策できるようにヘルパーが用意されている。
しかし、ヘルパーを使用していないプラグインもある。また、WordPress 公式ディレクトリにあるプラグインは、セキュリティ面でのチェックはほとんどなく、ヘルパーを使用していないプラグインでも公式ディレクトリに登録されている。

もし、プラグインを使うのであれば、プラグインを使う人が、自身の責任において、取捨選択する。

プラグインに関する相談は
http://www.rescuework.jp/service.html

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
847
On SlideShare
0
From Embeds
0
Number of Embeds
171
Actions
Shares
0
Downloads
4
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

WordPress セキュリティを考える会、SQLインジェクション、CSRF

  1. 1. WordPress セキュリティを考 える会 第二回 水野史土 レスキューワーク株式会社 http://www.rescuework.jp/
  2. 2. 自己紹介 WordPress 日本語化チーム フォーラムの常連回答者 Novius OS のコントリビュータ
  3. 3. プラグイン 公式プラグインは安全か? 安全でないプラグインの例
  4. 4. プラグインとは WordPress に機能を追加したり、 機能を変更したりできる 公開されているプラグインを改変可能 (カスタマイズ方法はプラグイン毎に異なる) cf. テーマは子テーマという仕組みがある 有料のものも無料のものもあるが、 公式ディレクトリのプラグインは無料
  5. 5. 公式ディレクトリのプラグイン WordPress の公式ディレクトリの要件 http://wordpress.org/plugins/about/ ● 画像等も含めて GPL 互換 ● 法律違反でない ● Subversion ● (デフォルトでは)宣伝リンクを表示しない など
  6. 6. 公式プラグインのセキュリティ セキュリティチェックはほとんど無い WordPress には、セキュリティ用に ヘルパーが用意されているが、 それらを使用していなくても、 登録できてしまう
  7. 7. SQL インジェクション データベースへの操作を行うとき、 入力データ等を適切に処理しないと、 意図しない動作になってしまう 被害 不正なデータ読み出し/書き込み
  8. 8. HTMLでは <b> => 太字にする命令 b => テキスト「b」 混同すると、意図しない表示になる
  9. 9. SQLでは delete => 削除する命令 ‘delete’ => テキスト「delete」 混同すると、意図しない操作をする
  10. 10. WP の標準の作法1 esc_sql $name = esc_sql( $name ); $wpdb->get_var( "SELECT something FROM table WHERE foo = '$name'" );
  11. 11. WP の標準の作法2 wpdb::prepare $wpdb->prepare( " SELECT sum(meta_value) FROM $wpdb->postmeta WHERE meta_key = %s ", $meta_key )
  12. 12. 標準の作法に従っていないプラグイン 従っていないプラグインの例 ● WordPress HTTPS 3.3.6 ● Yet Another Related Posts Plugin 4.0.7 従っていなくても、 公式ディレクトリに登録できる
  13. 13. クロスサイトリクエストフォージェリ 管理者にリンクを踏ませて、 意図しない処理をさせる攻撃 略称: CSRF 被害 不正な投稿、パスワード変更、ユーザー作 成等
  14. 14. トークンを発行し、チェックする
  15. 15. WP の標準の作法 Settings API 管理画面のフォーム作成ヘルパー CSRF対策用のトークンを自動生成 wp-includes/plugin.php setting_fields
  16. 16. 標準の作法に従っていないプラグイン 従っていないプラグインの例 ● Sharebar 1.2.5 ● Broken Link Checker 1.8.3
  17. 17. 標準でない場合 プラグイン作者が独自に実装する必要がある きちんと実装していれば OK だが … WordPress が用意している物を使わずに、 独自実装する意義はあるのか? => 古くからあるプラグインは仕方ないかも
  18. 18. プラグインを使う という選択の 注意点
  19. 19. プラグインと責任の所在 「プラグインを導入する人が責任を持つ 自分でチェックして安心できる物を使う 自分がわかなければ、分かる人にお願いする」 by WordCamp Tokyo 2013 の三好さん http://www.youtube.com/watch? v=Ez4J7PVyRwc 34:10ぐらいから

×