Home arrow Blog arrow Joomla! CMS

10月
22
2008

DS-SyndicateコンポーネントにSQLインジェクションの脆弱性

diggに追加!

以前に紹介して実際にこのサイトでも使っているDS-Syndicateでセキュリティホールが公表されていました。私は、改造して使っていたりなのですが、そこまで見ていませんでした。

対応策

new_feed(mosGetParam( $_GET, 'feed_id', ""));

new_feed(intval( mosGetParam( $_GET, 'feed_id', "") ));

のように(他の方法でももちろん良い)数値にサニタイズすることで対処できます。

追記:さらにすでに攻撃されたかどうかは、Root/components/com_ds-syndicate/feedフォルダ内を見て下さい。そこに通常のファイルではなさそうなものがあればすでに攻撃されたものだと思われます。フォルダ内のファイルをすべて削除する必要があります。

念のためまだ10月の途中ですが、毎月行っているiLogScannerのスキャンを行ってみました。

joomler_net-2008-10_iLogScanner

22日現在の時点で104件の攻撃で幸い成功はしていないようです。
成功していないというのは厳密に言うと間違いです。この攻撃を使ってのインジェクション攻撃は成功しています。そしてデータベースのnameとpasswordは見る事ができたかもしれません。ですが、Joomla!は生のパスワードは保存していません。パスワードは、Joomla!の独自メソッドでハッシュ値に変更されたものなので生のパスワードを悟られる事はまずありえ無いでしょう。心配な方は、パスワードを変更してください。

ログを見てみるとDS-Syndicateに対する攻撃は、10月6日から来ています。公表されるずいぶん前の時点ですね。情報を素早く入手することももちろん大切ですが、エクステンションを導入するときには気軽に導入すべきではないことも事実のようです。また、たくさんの人が使っているから大丈夫ということも絶対言えませんし、あのサイトで紹介されているから大丈夫とも言えません。

Joomla!のコンポーネントであれば、少なくともフロントエンドの入り口であるcomponents/導入するコンポーネント名/導入するコンポーネント名.phpくらいはチェックした方が良さそうです。これは、Joomla!1.0.xならそれで良い(足りない場合ももちろんある)ですが、Joomla!1.5では他のファイルにも気を配る必要があります。Joomla!1.5ではそのファイルは、ただの入り口でしかないからです。

どのようにして脆弱性を発見するのかなど、セキュリティに関しては新しいサイトで取り上げていくつもりです。フリーだからとむやみに導入していると痛い目に遭わないとも限りません。また、中にはJoomla!の専門家と称している方たちの中にもこういった類の方がいる事も事実で、当の私(専門家とは言っていませんが・・・)もこれに気づかず使っていたくらいです・・・Embarrassed

Joomla!を使い始めて当初は、たくさんのエクステンションを導入してみて良いものをそのまま使いつづけるといった形でみなさん使われていると思います。私ももちろん同様にしています。このサイトを始めるときはどのエクステンションを使うかはあらかじめ経験済みだったので候補のエクステンションは決まっていました。ですが、だんだん見えて来ちゃって今では導入する前に必ずソースコードを見るようにしています。そして駄目っぽいものはインストールすらしません。

現在、新しいサイト(というよりその前のエクステンションだが)を作成中でまた、仕事の中ではじめてのエクステンションを見る機会もあるのですが、たとえJoomla!1.5Nativeと書かれていても危ないエクステンションは存在するようです。

みなさんにお願いです。

エクステンションで問題を発見・遭遇したら公表する前(*)に作成者に報告してください。作成者はそれを意図的に作成したわけではありません。使えなきゃそのまま放置するのではなく、是非報告してください。作成者はそれを待っています。

※公表する前に報告:公表してしまうとその情報を元に攻撃をしてくる攻撃者がいるからです。

 

Related Articles

Google Custom Searchを使って検索結果を自分のサイトで表示する
フォーラムでforum.joomla.orgのようにmod_google_custom_searchで表示できないかと聞かれたのですが、このモジュールではforum.joomla.orgのような表示は...
SQLインジェクション解析 その後:iLogScanner IPA
前回3月のログで解析を行ったら397件のSQLインジェクション攻撃が発見されましたが、今回4月のログを再び解析してみました。 激減?141件でした。 なんと今回の解析後のログファイルを見てみ...
Joomla!1.5 with greybox : Hack
少し改造してみた。 http://demo.joomler.net/ 各記事上のPDFアイコンとE-Mailアイコンをクリックしてみてください。 GreyBoxを使って表示するようにしてみました。 ...
携帯 Google Map モジュールのデモを公開しました : Joomla!1.5
http://demo.joomler.net/ にて携帯用Google Mapモジュールのデモを公開しました。右のQRCodeからアクセスできます。 表示は、携帯(au, docomo, soft...
Prism0.9がリリースされていた : mozilla Labs
以前の記事「Joomla!のバックエンドをPrismで開く」で書いたように私は、Prismを使用してGoogle ReaderやphpMyAdmin、Joomla!の管理画面などを登録していつも使っ...
カテゴリの追加と移動:Joomla!
Joomla!って本当に便利ですね。 先日カスタムテンプレートを公開しましたが、docmanではカテゴリを作成していたのですが、エクステンションメニューにテンプレートのカテゴリを作成していなかったの...
HttpLogger : これいいかも
これ、いいかもしれません。以前にFirefoxのアドオンでScrapbookのことを書きましたが、Scrapbookに取り込み忘れた場合に有効かと思います。ただし、ブラウザの履歴に残っていな...
この間からタイトルがダブってるって:Joomla!1.5
などと本家フォーラムにて議論されていましたが、Joomla!1.5はデモとして使っているだけなのでさっぱり何のことだかわかりませんでした。1.5.4にアップデート後でしたが、さっぱりわかりません。と、...
Joomla! サイトのローカルコピーを作成
サイトを運営していると新しいエクステンションをテストしたり、表示を確かめることってありますよね。Joomla!の場合オンライン上で記事を書き、また編集できちゃうので以前のローカルでテストしてというこ...
SyntaxHighlighter Plugin DEMO
SyntaxHighlighterのDEMOです。 といいながらすでにこのサイトのSyntaxHighlightは、このプラグインでの表示にすべて変更しています。 if($mambot->...
htaccessのサンプル
Joomla!1.5.8がリリースされています
いやあ~ほんとごめんなさい
Custom Head Tag for Joomla!1.5を公開しました
Joomla! 1.0.14がリリースされています
Yahoo Pipesの翻訳:Joomler!.net Feed
トップページのタイトルを変更してみました。
Google Custom Search モジュールをアップデートしました: Module
あ~またアップデートというかバグつくるなよ
SyntaxHighlighter Plugin を公開しました

joomler_kun_48.gif Blog
Joomler! Blog

for Mobile