Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
WordPress セキュリティを考
える会 第四回
水野史土
レスキューワーク株式会社
http://www.rescuework.jp/
自己紹介
WordPress 日本語化チーム
フォーラムの常連回答者
Novius OS のコントリビュータ
前回のおさらいと報告
おさらい
● SQL インジェクションについて
● wpdb::prepareの使い方と間違い例
報告
● 「間違った使用に警告」を提案->受理
● WordPress3.9でついに終止符?
SQL インジェクション
データベースへの操作を行うとき、
入力データ等を適切に処理しないと、
意図しない動作になってしまう
被害
不正なデータ読み出し/書き込み
wpdb::prepare
$wpdb->prepare(
"
SELECT sum(meta_value)
FROM $wpdb->postmeta
WHERE meta_key = %s
",
$meta_key
)
wpdb::prepare
$wpdb->prepare(
"
SELECT sum(meta_value)
FROM $wpdb->postmeta
WHERE meta_key = %s
",
$meta_key
プレースホルダ
)
エスケ...
標準の作法に従っていないプラグイン
WordPress HTTPS 3.3.6
https://plugins.trac.wordpress.org/browser/wordpresshttps/trunk/lib/WordPressHTTPS...
間違った使用を防ぐために
プレースホルダが無い場合に警告を出す
WP3.5では「引数不足に警告を出す」
=> 解決すると思われたが ...
「ダミー引数(NULL, 0, ‘’)を入れる」
新しい提案
「『%』が無ければ警告を出す」
WP3.9 でパッチが取り込まれる
core.trac.wordpress.org/ticket/25604
core.trac.wordpress.org/changeset/27073
これで解決...
では今回のネタ
WordPressのオプション
WPでは、管理画面で様々な設定が可能
●
●
●
●
●
●

サイトURL
管理用のメールアドレス
新規ユーザー登録の可否
テーマ
プラグイン
...
便利な側面もある
● ウェブに詳しくなくても設定できる
○ FTP
○ ファイルパーミッション
● 途中での設定変更
○ テーマの切り替え
○ 1ページの表示数
オプションの設定項目の更新
update_option関数がある
この関数自体は権限をチェックしない
update_optionを呼び出す時に、管理者権限を持
つかどうかを確認する必要がある
WP本体のオプションページはOK
テーマ/プラグインのオプション
テーマ/プラグインが、独自のオプションページを
持っている場合
権限を適切にチェックしているか、確認する
Prochain SlideShare
Chargement dans…5
×

WordPressセキュリティを考える会第4回 資料ベータ版

2014年2月8日開催のWordPressセキュリティを考える会第4回資料です。

第2回、第3回で取り上げたwpdb::prepareの不適切な使用方法のおさらい、改善案をtracで提案して受理された。

オプションを更新する関数update_optionは、権限をチェックしない。このためテーマ/プラグインを開発するときは、エンジニアの責任で権限をチェックする必要が有る。

  • Soyez le premier à commenter

WordPressセキュリティを考える会第4回 資料ベータ版

  1. 1. WordPress セキュリティを考 える会 第四回 水野史土 レスキューワーク株式会社 http://www.rescuework.jp/
  2. 2. 自己紹介 WordPress 日本語化チーム フォーラムの常連回答者 Novius OS のコントリビュータ
  3. 3. 前回のおさらいと報告 おさらい ● SQL インジェクションについて ● wpdb::prepareの使い方と間違い例 報告 ● 「間違った使用に警告」を提案->受理 ● WordPress3.9でついに終止符?
  4. 4. SQL インジェクション データベースへの操作を行うとき、 入力データ等を適切に処理しないと、 意図しない動作になってしまう 被害 不正なデータ読み出し/書き込み
  5. 5. wpdb::prepare $wpdb->prepare( " SELECT sum(meta_value) FROM $wpdb->postmeta WHERE meta_key = %s ", $meta_key )
  6. 6. wpdb::prepare $wpdb->prepare( " SELECT sum(meta_value) FROM $wpdb->postmeta WHERE meta_key = %s ", $meta_key プレースホルダ ) エスケープする値
  7. 7. 標準の作法に従っていないプラグイン WordPress HTTPS 3.3.6 https://plugins.trac.wordpress.org/browser/wordpresshttps/trunk/lib/WordPressHTTPS.php#L234 $wpdb->get_col($wpdb->prepare("SELECT blog_id FROM " . $wpdb->blogs, NULL)) 従っていなくても、 公式ディレクトリに登録できる
  8. 8. 間違った使用を防ぐために プレースホルダが無い場合に警告を出す WP3.5では「引数不足に警告を出す」 => 解決すると思われたが ... 「ダミー引数(NULL, 0, ‘’)を入れる」
  9. 9. 新しい提案 「『%』が無ければ警告を出す」 WP3.9 でパッチが取り込まれる core.trac.wordpress.org/ticket/25604 core.trac.wordpress.org/changeset/27073 これで解決?するといいけど
  10. 10. では今回のネタ
  11. 11. WordPressのオプション WPでは、管理画面で様々な設定が可能 ● ● ● ● ● ● サイトURL 管理用のメールアドレス 新規ユーザー登録の可否 テーマ プラグイン ...
  12. 12. 便利な側面もある ● ウェブに詳しくなくても設定できる ○ FTP ○ ファイルパーミッション ● 途中での設定変更 ○ テーマの切り替え ○ 1ページの表示数
  13. 13. オプションの設定項目の更新 update_option関数がある この関数自体は権限をチェックしない update_optionを呼び出す時に、管理者権限を持 つかどうかを確認する必要がある
  14. 14. WP本体のオプションページはOK
  15. 15. テーマ/プラグインのオプション テーマ/プラグインが、独自のオプションページを 持っている場合 権限を適切にチェックしているか、確認する

    Soyez le premier à commenter

    Identifiez-vous pour voir les commentaires

  • yamazakikazunori

    Feb. 4, 2014
  • hayashikejinan

    Feb. 7, 2014
  • bkenro

    Feb. 8, 2014

2014年2月8日開催のWordPressセキュリティを考える会第4回資料です。 第2回、第3回で取り上げたwpdb::prepareの不適切な使用方法のおさらい、改善案をtracで提案して受理された。 オプションを更新する関数update_optionは、権限をチェックしない。このためテーマ/プラグインを開発するときは、エンジニアの責任で権限をチェックする必要が有る。

Vues

Nombre de vues

1 714

Sur Slideshare

0

À partir des intégrations

0

Nombre d'intégrations

247

Actions

Téléchargements

5

Partages

0

Commentaires

0

Mentions J'aime

3

×