セキュリティータグの投稿

2009-10-07

wpplugins.jp がドメイン失効していた

ゆりこ による 03:07:13 の投稿
カテゴリー: WordPressハック, ネットワーク
タグ: , , , ,
wpplugins.jp のドメイン情報

wpplugins.jp のドメイン情報

かつて、WordPress のプラグイン情報を日本語で発信していた「WP Plugin DB JAPAN」(リンク先ははてなブックマーク) が、いつの間にかドメイン失効していました。現在は第三者に取得されてしまい、http://www.wpplugins.jp/ は「100円パソコン比較」( あえてリンクはしない) というサイトになってしまっています。

もし、このサイトにリンクしているウェブログ記事とかあれば、即時にリンクを削除されることをおすすめします。a タグを消すか、リンク先 URL のドメイン部分を www.wpplugins.EXAMPLE.jp に変更するとかそういう手がよいでしょう。

当該サイトは2007年10月ごろを最後に更新がされてなかったのですが、そのままドメイン失効となったのは非常に残念です (結局 Ktai Style が掲載されずじまい)。それなりに被リンクのあるドメイン名が失効してしまうと、悪意ある第三者に取得された場合に非常に問題となります。今回のように、明らかに広告サイトに変貌している場合は「違うサイトに繋がってしまったかな?」と思って直帰するだろうから、あまり問題にはなりませんが、元のサイトに良く似た詐欺サイトを作られた場合は非常に問題です (プラグインのリンク先をウイルスファイルにしている etc)。

オープンソースソフトウェアの開発もそうですが、未来永劫サイトを維持するのは非常に困難です。でも、今までサイトを見てくださっていた訪問者を守るというセキュリティー面から、最低でもドメイン名だけは維持してもらいたいです。もしくは、信頼できる第三者に譲渡するという手もあります。WordPress コミュニティーで、WordPress に関するドメイン名を維持・管理するための NPO か何かを作る手もいいかもしれませんね……。

[追記] テンプレート解説サイト wptags.com も失効しているようです (リンク先は aboutus.com)。

2009-09-30

Androidの内蔵ブラウザーはアドレスバーが変

ゆりこ による 05:02:27 の投稿
カテゴリー: ソフトウェア, モバイル・携帯電話
タグ: , , ,

HT-03A モニター記事を全部見る。

Androidブラウザーは長いURLの末尾を省略してしまう

Androidブラウザーは長いURLの末尾を省略してしまう

HT-03A の内蔵ウェブブラウザーの挙動を調べてみました。真っ先に目がいったのはアドレスバーです。1行に「ドメイン名 (FQDN) とページタイトル」をまとめて表示するという、他のブラウザーでは見たことのないスタイルです。

ブラウザーのアドレスバーを隠してはならないことは、セキュリティーの立場から必要なことです。Android では、表示スペースを節約するため、最低限必要な情報として FQDN を出しています。残念ながら、長い FQDN の場合は中間ではなく末尾が削られてしまって、真正なサイトかを一目で確認することはできません。とはいえ、メニュー→その他→ページ情報、で URL を確認できるので、目くじらを立てる必要はないでしょう。

問題と言えるのは、リダイレクトがかかったときの挙動です。なぜか、以下のような状態遷移になります。(注: Android 1.6 ではマトモな挙動に直されています)

  1. 元FQDNのみ
  2. 新FQDNのみ
  3. 元FQDN:ページタイトル
  4. (ページレンダリング中)
  5. 新FQDN:ページタイトル

もし、あやしいページを開いたことに気がついた場合中止するのは「ページレンダリング中」ですが、このときは、一度表示された新 FQDN が消えてリダイレクト元の FQDN に戻っているため、URL からは「あやしいサイトかどうか」の判定が困難となっています。表示が完了したタイミングで新FQDNに差し替えられています。凶悪なことに、レンダリング中に「ページ情報」を開いても、リダイレクト元の URL しか表示されません!!

(続きを見る…)

2009-08-09
晴れ

WordBench 資料「WordPress のセキュリティー」

ゆりこ による 22:03:01 の投稿
カテゴリー: WordPressハック
タグ: , ,

去る8月8日に開催された WordBench 川崎勉強会でわたしが行なった講演のスライドを公開いたします。実は、あまり時間がなくてやっつけ仕事になってしまい、予定よりも少ない内容になってしまいました。それでも、セキュリティーの基本としては十分な資料だと思われます。なお、あくまでサイト運営者としてのセキュリティーであり、テーマ作成者・プラグイン開発者としてのセキュリティーは含んでいません。

「WordPress のセキュリティー」
形式: PDF (1.5MB)
ライセンス: クリエイティブ・コモンズ・表示-非営利-継承 2.1 日本
スライド: WordPressのセキュリティー
(ZIP 圧縮版 696KB)

[追記] もっと入れたかった項目は以下の通りです。

  • WordPress のバージョン UP ごとに追加されたセキュリティー対策 (どれだけ古いバージョンを使うとどういう脅威があるか)
  • 各種セキュリティー対策プラグインの有効性 (WP Security Scan とか)
  • 巷にあふれる「セキュリティーアップのポイント」を個別検証 (バージョン隠しは有意義か? など)
2009-02-26
くもり

つくば観光協会に電話した

ゆりこ による 10:23:36 の投稿
カテゴリー: ソフトウェア, 社会問題
タグ: , ,

つくば方面で素の Mobile Eye+ を使っているサイトがある」という報告を発見したのですが、執筆者は「サイト運営者に連絡していない」ようでした。「それはあかんやろ」と思ったので、つくば観光協会にサイトについて電話で質問してみました。すると、以下のような回答でした。

  • ウェブサイトの更新は、観光協会の職員さんが行なわれている。
  • サイトの構築は業者に発注。
  • 携帯対応は、業者からの提案で、設置作業も業者が実施。
  • 発注先の業者がどこかは教えられない。

その後、Mobile Eye+ の脆弱性についてしゃべってサイトが危険なことを伝え、口頭では分かりにくいため、回避策・対応策についてはメールいたしました。ウェブサイト担当者の方には真摯に受け止めて頂けました。ありがとうございます。

つくば方面というと、わたしが以前叩いた「ある業者」がありますが、わたしの指摘以降、ちょっとはマシになったかと思っていました。もし、梅まつりウェブサイトの構築が「そこ」ならば、やっぱしまだスキルが低いままなのかなーということですね……。そういう業者は、市や観光協会が「指名停止処分」にするべきでしょう ;-) 土木や建築だったら、欠陥工事レベルですから、指名停止になってておかしくないわけで、IT 関連でも同じ措置があってもよいかと。

[追記 18:35] 昼すぎに観光協会から連絡があり、業者に対応を取って頂いたそうです。こちらでも、脆弱性が回避できていることを確認できました。さすがに「直接電話する」のは効果がありますね。もちろん、観光協会および業者さんの対応が早かったことは特筆すべきことだと思います。(業者さんは) 知識や情報収集能力が足りないっぽいですが、それを行動力でカバーといったところでしょうか ;-)

2009-02-14
晴れ

HTML エスケープなしの出力は怖い

ゆりこ による 01:13:47 の投稿
カテゴリー: WordPressハック
タグ: ,

Ktai Style 1.61-rc1に同梱した Photolog テーマは、WordPress のメディアライブラリに登録された画像を探して、投稿一覧に貼り付けるという動作をしています。こういう動作は最近人気があるようで(?)、ひろまささんが wp-kougabu に機能追加したりしています。さきほど見つけたのは「WordPressの最新の記事から画像を一覧表示する」というコードでした。

<?php
query_posts('showposts=10');
if ( have_posts() ) : while ( have_posts() ) : the_post();
$files = get_children("post_parent=$id&post_type=attachment&post_mime_type=image");
if (!emptyempty($files)){
$keys = array_keys($files);
$num=$keys[0];
$thumb=wp_get_attachment_thumb_url($num);
print "<a href=\"".get_permalink()."\" title=\"$post->post_title\">
<img src=\"$thumb\" width=\"80\" height=\"80\" alt=\"$post->post_title\" /></a>\n";
}
endwhile;else:
endif;?>

しかし、このコードを見てびっくりしました。一切 HTML エスケープがされていないからです!! まあ、表示するのは「サイト運営者が入力した情報」である、投稿のパーマリンクとタイトル、画像の URL だけなので、XSS 脆弱性とは言いにくいですが……。ただし、投稿タイトルとして「大阪 -> 京都のきっぷ」というのがあれば、HTML のパースエラーが発生してしまいます。

さて、先方に連絡しようにも、当該の投稿にはコメントフォームがありません。ウェブサイトを見てもコンタクトフォームも連絡先も見つかりません。最後の手段としてピンバックが動作することを期待して、このエントリーを書いたわけです ;-)

素人ならともかく、WordPress のカスタマイズを業務として行なっている方が、こういうコーディングをしてしまうのは不安になってしまいます。HTML エスケープなんて基礎の基礎ですよ!!

さて、改善方法ですが、URL を出すところに WordPress のエスケープ関数である attribute_escape(), clean_url() を使うのがよいですね。post_title を出しているところは、API 関数の the_title_attribute() を使った方がよいでしょう (ただし、事前に global $post; しておくことが必要)。HTML を組み立てるクォート文字列もシングルクォートにしておけば、HTML 内で使うダブルクォートをバックスラッシュでエスケープしなくて済むので見通しがよくなりますね。

print '<a href="' . clean_url(get_permalink()) . '" title="' .
the_title_attribute('echo=0') . '"><img src="' . clean_url($thumb) .
'" width="80" height="80" alt="' . the_title_attribute('echo=0') . '" /></a>' . "\n";

WordPress のテクニックをいろいろ公開されるのは素晴しいことですが、こういうセキュリティーの甘いコードを公開するのは困りますね〜〜。せめてツッコミを入れられるようにコメントフォームを開けておいてもらえると助かります。

2009-02-10
晴れ

脆弱性あり Mobile Eye+ を使っていた業者

ゆりこ による 03:38:30 の投稿
カテゴリー: ソフトウェア, 社会問題
タグ: , , ,

Mobile Eye+ に XSS 脆弱性があることを発表して以来、ブログ検索などで、素の Mobile Eye+ を使っている人を見つけては、拙作のパッチを紹介するという活動をしています。多くの方がびっくりされますが、パッチを適用して頂いています。ありがたいことです。反面、書いたコメントが「承認待ち」のまま放置という状態もあって、これは悲しいです。放置していても、自身のサイトが攻撃されたり、他のサイトを攻撃する踏み台にされるだけで、それは自業自得ですから、仕方ないのですが……。

このとき、いくつかの Mobile Eye+ 利用サイト (Google 検索へのリンク) が、ほぼ同じデザインなことに気がつきました。どう見ても、「業者から購入したテンプレートそのままの状態」で、非常に情けないです。念のため、見つけたサイトすべて (コメントが閉じられている1サイト除く) にコメントを書きましたが、5日ほど経過しても反応がありません……。(すべて「承認待ち」のため、わたし以外にはコメントの存在は見えません)

よーく調べてみると、どうやら、「HyperBlogger (ハイパーブロガー)」というツール (というかテンプレートセット) で作ったを購入した人向けの専用テンプレートを適用したサイトのようでした。つまり、販売業者は「脆弱性がある Mobile Eye+ を含むツール」を売っている代行インストールしたわけです!!

Mobile Eye+ の XSS 脆弱性が見つかったのは今年1月7日ですから、それ以前に販売した顧客への対応が困難なのは仕方ないです。でも、手前が販売したソフトウェアならば、脆弱性情報などもきちんと入手して、利用者に通知するのがあるべき姿でしょう。(まあ、スパムブログ生成ツールを作っている時点で、到底「マトモ」とは言えないですが ;-) →先方から連絡があり、「顧客に案内を行う予定である」とのことでした。すばらしい!!

まっとうな WordPress ブロガーがこのようなツールを買う代行インストールサービスを利用するとは思えませんが、じゅうじゅう注意されるようお願いします。なお、拙作の Ktai Style をベースに「PC & 携帯サイト同時生成ツール」を売っている業者もあるようですが、Ktai Style の最新版情報をいち早く入手されて、顧客に通知されることをお願いいたします。

ちなみに、WordPress, Ktai Style はどちらも GPL に基づくオープンソースなので「自動生成ツールと抱き合わせで配布することを禁止する」なんてのは無理なんです。オープンソースソフトウェアは、「利用する分野を制限してはならない」ので、極端な話、テロリストが使用することも認めないといけないのです。


[追記: 2009-02-11 03:30] 本日、深夜0時20分ごろ、HyperBlogger 開発元の「デジステイト」さんからメールが届きました。以下のような概要です。

  • HyperBlogger はあくまで、ローカルアプリケーションであること (WordPress、Mobile Eye+ やブログテンプレートは含まない)
  • HyperBloggerの開発の意図としては、決してスパムを目的としたブログを生成することではない。(ただし、利用者の多くはアフィリエイトを目的としている現状である)
  • キーワードなどを指定して自動的に同一のページが生成される機能はない。必ずユーザ側での編集作業が必要。
  • 既存の企業ポータルサイトや一部会員制サイトでの利用実績がある。
  • HyperBlogger の購入者に対して、特製のテンプレートや必須プラグインを含む WordPress 代行インストールサービスを行なっている。
  • 設置代行したユーザーに対して、Mobile Eye+ パッチの適用またはKtai Style などの代替プラグインを自身にて適用されるよう案内する予定。

わたしは完全に誤解していて、HyperBlogger (14,800円) には WordPress, Mobile Eye+、特製テンプレートが附属しているのだと思っていました (GPL アプリを有償で売ることは問題ないので)。自身で WordPress インストールが難しい人向けに、2,500円で代行インストールを行なっているのだと思っていました。実は、Mobile Eye+ の設置は、代行インストールの一環で行なっていたようです。

上記のような指摘がありましたので、タイトルおよび本文を修正し (旧タイトルは「脆弱性あり Mobile Eye+ を含むツールを売る業者」)、「ヘボ業者」タグは外させて頂きました (このようなタグを付与して申し訳ありません)。アフィリエイト目的のブログ作成という行為は個人的に感心はしませんし、それに使えるツールについては全く興味がないです。でも、この記事の目的は「セキュリティーの向上」にあるので、それに対する対策を取って頂けるならば、何の問題もありません。

このような「毒記事」なのに、素早く丁寧な連絡を行なってくることは驚きでした。自社製品によっぽど自信があるのだと思いますね〜〜。

2008-07-29
晴れ

端末識別情報の蒐集はリスクが大きい

ゆりこ による 08:27:59 の投稿
カテゴリー: WordPressハック, モバイル・携帯電話
タグ: , , ,

Ktai Style バージョン 0.98 から、携帯電話でのコメント投稿時に、端末識別情報を要求できるようになっています。バージョン 1.30 からは、iモードIDにも対応しています。この機能を付けたのは、荒らしコメントに対応するためでした。ケータイの場合 IP アドレス制限を行うことができないため、端末識別情報で投稿者を区別するしかないためです。ただし、まだ端末識別情報でコメント投稿を拒否する機能はありませんし、設定パネルの説明にも「『送信を必須』にしても、フルブラウザ・PC サイトビューアー等に切り換えれば回避できます。通常は『必須ではない』を選択することをおすすめします。」と書いてある通り、実効性は少し疑問があるため、オマケ機能に近いものです。

しかし、iモードIDの登場以降、端末識別情報を蒐集することはリスクが大きいことが指摘されています。高木浩光さんの日記「『日本のインターネットが終了する日』あとがき」では以下のような記述があります。

これが、住所氏名と契約者固有IDを含むデータを流出させてしまった場合には、被害者に具体的な損害が生ずるようになる。被害者は、どこのサイトに行っても住所氏名がバレてしまうという事態になるので、携帯電話の契約者固有IDを変更する必要に迫られ、改番手続きないし契約の解除と再契約などが必要になる。携帯電話会社によっては手数料を請求するところもある。また、契約者固有IDと住所氏名の漏洩は、任意サイトにおける過去のアクセス記録についてもそれが誰のものだったかバレてしまうという被害をもたらすので、被害者の精神的苦痛は大きいと判断される可能性がある。原状回復のために被害者にかかる作業の負担もあり、それらの損害を、漏洩させた企業に賠償請求することができるようになると思われる。なにしろ、被害の発生原因が漏洩させた企業にあることは明白だ。

ウェブログのコメントに「自身の住所氏名や電話番号」を書くことはめったにないでしょうが、端末識別情報を蒐集することはこのようなリスクがあることを意味します。Ktai Style の「端末識別情報の要求」を「必須」に設定する人すべてが、この問題を認識しているのならいいんですが、附属ドキュメントにはそこまで詳しく書いてないので、安易に「必須」にする人がいるかもしれません。次期バージョンでは記述を詳細にしなければなりませんね。機能をオンにするときは、JavaScirpt のダイアログを出して「本当に端末識別情報の要求を必須にしますか?」と注意を喚起するようにしましょう。また、各サイトのプライバシーポリシーの改訂も行うことを指南した方がよさそうです (Yuriko.Net のプライバシーポリシーでは、端末IDは個人情報と規程していますが、コメント投稿時に必要とする理由が分かりにくい)。

ちなみに、Ktai Style の「簡単ログイン」機能の実装が遅れている理由は、「端末識別情報だけでログインするのは危険」という理由が大きいです (ウィルコムで使えないというものあります)。今のところ、Ktai Style 2.0 で予定している「クッキーによるセッション管理」が実現したら、「クッキーを保存したままにする」という実装方法にすることを検討しています。つまり、Ktai Style 1.xx 系統では自動ログインはできない予定です。

2008-07-27
晴れ

ユーザー視点と作者視点

今ごろ気がついたのですが、wpmob, wpmobExpress の作者さんから「そっとしておいてもらえると嬉しい」と言われていました (リンクするかわりに引用しておきます)。「作者の視点」としてはまさにその通りで、そう言いたい気持ちもよく分かります。

あと最近、ソフトウェアを批評する方のサイトから良くリンクを頂いているようですが、正直そっとしておいてもらえると嬉しい。

紹介して頂けるのは本当に有り難いのですけれど、単なる趣味としてやってんだから類似したソフトウェアといちいち何回も細かく比較されるのは不快です。
自作のソフトウェアの機能アピールに当て馬として使われるのはもっと不快です。

他のソフトを引き合いに出して自作をアピールするなら、もっと優秀なソフトウェアのみ選出すると良いでしょう。
拙作は明らかに「機能不足」で「時代遅れ」なソフトウェアなワケだから無視して下さい。

ただ、わたしが「メール投稿ツールの比較表を作った」のは、純粋にユーザーの便宜のためでした。WordPress 用メール投稿ツールは、日本語に対応したものだけでも7種あり (Ktai Entry 含む)、選択基準を提示すべきではと考えたのです。網羅性を重視したため、見つけたものはすべて掲載しました。そして、ユーザーの立場としては「機能の劣る点」「問題点」も重要な情報ですから、○×表として記載したり、日本語ファイル名の対応などを確認したわけです。確かに「作者としての立場」を考慮しない書き方なのはまずかったですが、「作者さんにはがんばってメンテナンスしてほしい」という願いがありました。

「当て馬」があるとすれば、それは拙作の wp-mta および、Otsukare さん作の wp-shot になるでしょう。wpmob および wpmobExpress は、古いというより「枯れている」というのが合っていると考えていて、けなす意図はありません。優劣を判断してツールを選択するのはユーザーですから。

ついでに書いておくと、WP MOBILE の非難は、どちらかというと作者視点セキュリティー啓発者としての活動です。同様の機能を持つプラグインを作っているために「ライバル潰し」と誤解される可能性が大なのですが、あくまで「危険なプラグインの啓蒙」です。Ktai Syle は、「安全なものの代替案」として提示していると考えてください。(その割にバージョン 1.3x はバグが多くてご迷惑をおかけしましたが……)

幸い、WP MOBILE はユーザーがほとんどいなくて安心しているのですが、Mobile Eye+アダルト広告問題が見つかってしまい、これを啓発せざるを得ないのは残念なところです。セキュリティー欠陥ではないので「ほっとけばいい」という考えもあるでしょうが、危機管理という面では放置できないネタなので、広報しています。ライバルとなるソフトウェアを開発している人が言うのは、告知効果という面ではいまいちなので、利害関係のない第三者にやってもらいたいところです……。というか、まおうさんに修正して頂くのがベストですね ;-) 例えば、URLGATE 機能にリストアップするサイトを個別に ON/OFF できるようにして、画像リサイズ/画像URLGET/ファイルシーク/pic.to の横に「アダルト広告注意」と書いておく (デフォルトはすべてオフ) などの実装が考えられます。

ユーザー視点としてみると「便利なものを使いたい」「機能豊富なものを使いたい」となるでしょうし、多くのプラグイン作者は「自分が必要なものを作りたい」「ハック欲を満たしたい」となるでしょう。わたしの場合、そこに加えて「セキュアなものが普及してほしい」「危険なものは使うべきではない」という考えも持っています (「使うべきでないプラグイン12選」はその一例)。そのへんのバランスはなかなか難しいですね。WordPress コミュニティーに「セキュリティーを重視する」という文化が醸造されればいいのですが……。

2008-07-17
晴れ

SOMY 製プラグインはインストール禁止

ゆりこ による 01:07:29 の投稿
カテゴリー: WordPressハック
タグ: ,

SOMY プラグインがリストアップされた画面

かつて、WordPress 向けに有用なプラグインを提供されていた SOMY さんですが、SOMY さんが制作したプラグインすべてに、セキュリティー欠陥があることが分かりました。それは「プラグインの PHP ファイルに script 要素が埋め込まれていて、WordPress 2.0.x 以前 (2.0 を含む) で、管理画面のプラグイン一覧でリストされたときに実行されてしまう。」というものです 。プラグインをインストールするだけで発生し、停止していても script が実行されます。

画面のバージョン数字の部分に script 要素があって、XHTML ソースは次の通りです。

<td class='vers'>1.0<script src="http://wp.somy.jp/up_check/?f=logined-publish&v=1.0"></script></td>

この script 要素は、おそらくバージョン確認が目的だと思われます。今のところ、サーバー側 API が停止しており、何の反応もありませんが、将来 wp.somy.jp がクラックされたり、SOMY.JP ドメインが失効して他人に渡ったりして、悪意あるコードが設置された場合は非常に危険です。なお、WordPress 2.1 以降では、script 要素が削除されてから管理画面に表示されるので安全です。

対象プラグインは以下の通りです。

[このセクション追加] WordPress 2.0 以前で当該プラグインを使用している場合は、WordPress の管理画面を *開かずに*、FTP/SFTP ツール等で、サーバーのプラグインディレクトリー (wp-content/plugins/) から当該プラグインを削除してください。管理パネルでプラグインを無効にする必要はありません (というか、管理パネルに入ると危険です)。

以下のツールは、厳密にはプラグインではなく、WordPress のプラグイン一覧にリストアップされないので、この問題はありません。しかし、別のセキュリティー欠陥が存在する可能性は否めません。

ドキュメントに「プラグインには、バージョンチェック用の JavaScript が入っています」という記述があればマシなのですが、そういう記述が一切ないため「バックドア」と認定していいでしょう。SOMY さんは去年あたりから活動を停止されており (2007年9月9日のコメントが最新)、プラグインの更新もされていません。リリースされたプラグインはすべて古くなっており、WordPress 2.3 以降に対応していないものも多くなっています。このため、すでに「SOMY 製プラグインは (古いため) 使うべきではない」という状態だったのですが、こんなバックドアが埋め込まれているとすれば、「インストール禁止」と言うべきでしょう。WordPress 2.1 以降では問題ないとはいえ、バックドアを作ってしまうような作者のコードは、他の部分も信用しない方が無難です。

SOMY さんが現在活動中であれば、直接連絡するなり IPA に通告するなりして改善をお願いするのですが、そうではないため、この場をもって多くの人に警告するしかありません。その点が非常に残念です。

逆に言うと、この問題は、WordPress 2.0 自体の欠陥とも言えます。2.0 ブランチは一応現役なだけに 2.1 以降での修正をバックポートしてもらいたいのですが……。→ ME 2.0 については自分で直してしまえばいいのだった ;-)

「プラグイン10選」で SOMY プラグインを挙げられている人にピンバックしてみましょうか。おそらくみなさん WordPress 2.1 以降なので安全だとは思いますが。(追記: その他にも使っているユーザーを見つけたら追加します)

[追記 2008-08-20] チケット #7325 を切って報告しましたが、WordPress 2.0 ブランチでの修正は望めそうにありません。「SOMY プラグインというヤバイ例がある」と書いてみたものの、期待薄ですね……。本家が修正しないとしても ME で修正するのは自由なわけですが、あまり本家と差異ができるのは嫌なので避けたいところです。となると、地味に「SOMY プラグインは危険」と告知するしかないのかな。

2008-07-15
晴れ

使うべきでないプラグイン12選

ゆりこ による 00:19:06 の投稿
カテゴリー: WordPressハック
タグ: , , ,

トラックバック企画「WP2.5に入れるプラグイン10選」ですが、中間集計が始まったようなので、「使うべきでないプラグイン10選」を挙げてみたいと思います ;-) (追記: ヤバいものが増えてしまい、12選になりました) Masayan さんはこういうリストアップを好まないと思いますが、「やばいものは避けよう」という注意喚起としてあえて出してみます。もし、自身で使っているプラグインが該当していると不快になるかもしれませんが、セキュリティー向上のための情報ですので、気を悪くされないようにお願いします。

危険なプラグイン

以下のプラグインは、セキュリティーホールがある/ありそうなため、即座に使用停止した方がいいものです。

WP MOBILE
デジタルスタジオ製のモバイル対応プラグインです。当サイトでは度々危険性を告知しています。当初発見された脆弱性は塞がれていますが、まだ突破口があるのでないかと思われます。また、WordPress 2.3 以降には未対応なこと、IE, Firefox, Opera 以外の PC 向けブラウザー (Safari など) では閲覧できない、という重大な問題があります。(Safari ユーザーお断りサイトができてしまう ;-) (追記: このプラグインがあまりにふがいないため、Ktai Style の開発を始めました。Ktai Style の普及のために WP MOBILE を叩いているのではありません)
Plug ‘n’ Play Google Map
Lightweight Google Maps の前身である Google 地図対応プラグインです。XSS 脆弱性があること (作者に報告しても梨のつぶて)、位置情報が多くなると PHP およびブラウザーのメモリエラーになること (16MB だと 1000個が厳しい) などの問題があります。(追記: こういう問題があるので、Plug ‘n’ Play Google Map の使用をあきらめて自作することにしたのです)
まだベータ版なので、ここに挙げるのはかわいそうなのですが、2回も脆弱性を指摘したのにまだ同じ箇所が直ってないのは残念です。今後修正版が出るでしょうが、多くのテスターによる確認が済むまで使わない方が賢明です ;-) (作者がんばれ!!)

新しい WordPress に対応していないもの

以下のプラグインは最近の WordPress に対応していないものです。また、作者が開発を中止した/新バージョンが今後出ないと思われるものです。コードを自分でいじれる人ならば、改造して使ってもいいですが、プログラミングの知識がないならば、避ける方が無難です。

SOMY Mobile Gate
SOMY さんのメール投稿ツールです (厳密にはプラグインではありません)。残念ながら 2006 年秋頃に開発を中止されてしまいました。そのため、WordPress 2.3 以降の新しいカテゴリーテーブルには未対応となっています。後継の MobG を使いましょう。こちらはメンテされています。
SOMY SpamBlock JP
SOMY さんのスパム対策プラグインです。こちらも 2005年3月以降メンテナンスされていません。トラックバック・ピンバックの識別方法が古く、すべてコメントとして処理してしまっています。また、ブロック時の表示が文字化けしやすいこと (Shift_JIS 表示かつ HTTP ヘッダで Content-type 未指定)、コメント/トラックバックを必ずデータベースに一度保存させていること、どうにかがんばれば SQL インジェクションを起こせるかもしれないこと、将来 $tablecomments が廃止されたら動かないこと、などいくつか問題などがあります。
WordPress 2.0 以前 (2.0 含む) でセキュリティー欠陥があることが判明しました。WordPress 2.0 以前ではインストール禁止です。
SOMY IMG Collect
SOMY Logined Publish
SOMY さんのギャラリープラグインと、ログインユーザー判別プラグインです。どちらも、設計が古く将来の Wordpress で動くかどうか不明です。なんとか WordPress 2.6 でも動きそうですが……。なお、WordPress 2.0 以前 (2.0 含む) でセキュリティー欠陥があることが判明したため、インストール禁止です。

アダルト広告が出てしまうもの

以下のプラグインは、取り扱い注意な機能を含むため、万人にはおすすめできないものです。設定を変更するか、「ポルノ広告表示機能」を了承の上使うのならば問題ありません。

Mobile Eye+
まおうさんの携帯対応プラグインです。Otsukare さん作の Mobile Eye がベースとなっていますが、大幅に変更されています。これも、当サイトで口が酸っぱくなるほど書いている通り、「画像や外部リンクをクリックしたときの URLGATE 画面には、ポルノ・出会い系広告が出る外部サービスがリストされる」という問題があります。しかも、この機能はデフォルトで ON にかかわらず、ドキュメントや配布サイトには記述されていません。このため、Mobile Eye+ をデフォルト設定で使うと、「アダルト広告に繋がる携帯サイト」ができあがってしまいます。
URLGATE 機能がドキュメント化されているならば、「ポルノ広告が出てもいい」というユーザーだけが ON にすればいいのですが、そうでないため、取扱注意なプラグインとなっています。PHP5 未対応のため Ktai Style が使えない、という人は、ちょっと機能が低いですが「MobilePress」も検討してみてください (ただし、short_open_tag が off だと動きません)。
(追記: WordPress 2.3 以降で「ブログのパーマリンク」が「使用しない」の設定の場合、標準 URL (Canonical URL) の仕組みにより、パーマリンクを使った URL に常にリダイレクトがかかってしまいます (ドコモ携帯ではダイアログが出ます)。また、前後ページのナビゲーションで URLGATE 経由になってしまいます。「使用する」に設定すればどちらも回避できます)
(追記その2: Ktai Style 開発動機のもう1つの理由が、「Mobile Eye+ の挙動が好みと違う」ことでした (まおうさんも「かなり自分仕様な設計」と明言されています)。わたしには「ページ分割機能がない」「パケット節約が十分でない」「コメントとトラックバックを強制的に分離する」「スマイリー画像をそのまま出す機能がある」などは不満でした。このため「もっといいものが作れるんじゃないか」と考えて、携帯対応プラグインの開発を検討したのです。その後、「アダルト広告問題」が発覚したため、Mobile Eye+ も非難せざるを得なくなってしまいました。これは残念なことです)

お行儀が悪いもの

以下のプラグインは実装が凶悪で、他のプラグインに悪影響を出すものです。

Events Calendar
イベント表示プラグインです。標準のカレンダーの代替を提供します。しかし、プラグインの初期化段階で wp-includes/pluggable.php を require してしまうため、「プラグインが先に関数宣言することでオーバーライドできる」という pluggable.php の仕掛けを台無しにしてしまっています。WordPress コアの動作をまるで理解していない人が作っているわけで、これだと Extends から削除すべきぐらい酷いものです ;-) Ktai Style とコンフリクトするから敵対視しているわけではありません……。
All in One SEO Pack
人気のある SEO 増強プラグインです。しかし、タイトル書き換え機能が ob_start() を使うという凶悪な実装で、Ktai Style や Mobile Eye+ では title 要素が化けます (現在の Ktai Style では対策ずみ)。お行儀が悪い、という意味ではトラブルメーカーなわけで、初心者の方は避けた方が無難です。

セキュリティーを落とすもの

WordPress のセキュリティーを下げてしまうプラグインです。

Exec-PHP
runPHP
どちらも、投稿に PHP コードを記述できるようにするプラグインです。テーマの改造では不可能な動的なサイトを作ることができます。しかし、複数の投稿者がいる場合、ユーザー登録が自由なサイトではセキュリティーがかなり落ちますので、使ってはなりません。ページテンプレートや自作関数/自作プラグイン/自作ショートコードを作れば、これらのプラグインに頼らなくても済みます。逆に言うと、これらのプラグインを使うということは、まだ初心者の域であると言えるかもしれません ;-)

閲覧者が困るもの

他人のプラグインばかり非難していると「何様やねん」と言われそうなので、自作のものをオチとして出しておきましょう。

Ktai Style Shuffle (PC 向けバージョン)
Ktai Style のエイプリルフール版です。なんと、アクセスの度に表示される投稿が変化するという「ランダム表示」を強要します。閲覧者が困惑すること必死です ;-) 強烈なジョークプラグインですので、真面目なサイトで使ってはいけません。

なお、ここに挙げられていないものが「安全」というわけではありません。プラグインは便利ではありますが、PHP コードそのものですので、すべてセキュリティーの脅威となり得ます。プラグイン紹介サイトでは、コードの確認をしていない場合もありますので、「人気サイトで紹介されているから大丈夫だろう」と思わないようにしてください。

[追記] もちろん、上記のリスクを承知の上で、ここに挙げたプラグインを使うのは自由です。また、問題点がさほど重大でない場合もありますので (設定で回避できる etc)、一概に全部がダメ、というわけではありません。本当にダメなのは、一番最初の2つだけです。

[さらに追記 2008-07-15 09:20] デッドリンクチェッカーは、作者さんが根本的な改良をされたようなので、削除しました。そのかわり、Events Calendar を追加しました。

[もっと追記 2008-07-17 01:15] SOMY プラグインの欠陥を追記して、他のプラグイン2つも追加しました。

[本文中に追記 2008-07-27 22:45] WP MOBILE, Plug ‘n’ Play GoogleMap と Mobile Eye+ と拙作プラグインの関係について、本文中に追記しました。既存品に問題や不満があったため代替品を作ったという経緯なので、それらを非難するのは必然なわけです……。