月: 2007年3月

トラックバックスパムの防止方法

ボットによるコメントスパム防止はCAPTCHAによって行えますが、同じ事をトラックバックスパムにも利用できます。

通常のトラックバックURLは固定アドレスになっていますが、トラックバック送信の鍵をクエリパラメータに含めます。当然鍵は使い捨てでブルートフォース攻撃ができない、URL取得ページ・鍵にします。鍵付きのトラックバックURLを取得するにはCAPTCHA画像の値を送信ないとURLを取得できないようにすればOKです。
# もちろん使った鍵を削除し、鍵には十分に短い有効期限を設定する

それでもSPAMを受け続けるなら鍵付きトラックバックURLをメールアドレスに送信するようにすると良いです。

同じような仕組みのスパム対策はどこかにあるでしょうか?

Apache Tomcat JK Connector

MOPBでPHPの脆弱性ばかり書いているので書いておきます。

critical: Arbitary code execution and denial of service CVE-2007-0774

An unsafe memory copy in the URI handler for the native JK connector could result in a stackoverflow condition which could be leveraged to execute arbitary code or crash the web server.

Affects: JK 1.2.19-1.2.20
Source shipped with: Tomcat 4.1.34, 5.5.20

ePortfolio(Javaアプリ)の脆弱性

MOPBでPHPのセキュリティ問題ばかり書いているので書いておきます。

Multiple cross-site request forgery (CSRF) vulnerabilities in TKS Banking Solutions ePortfolio 1.0 Java allow remote attackers to perform unspecified restricted actions in the context of certain accounts by bypassing the client-side protection scheme.

出典:CVE-2007-1332

Multiple cross-site scripting (XSS) vulnerabilities in TKS Banking Solutions ePortfolio 1.0 Java allow remote attackers to inject arbitrary web script or HTML via unspecified vectors that bypass the client-side protection scheme, one of which may be the q parameter to the search program. NOTE: some of these details are obtained from third party information.

出典:CVE-2007-1331

これ、よく見ると銀行用のアプリケーションですね。

「Javaで作っているので安全」と言える訳はありません。「ORMを使っているので安全」と言える訳でもありません。当然、「○○フレームワークを使っているので安全」とも言えません。「Javaを使っているのでコード実行されない」と言う事もありません。JSPをインジェクトして実行できてしまったWebアプリもあります。

Webアプリの安全性は言語やフレームワークだけでは確保できません。
常識ですよね。と言いたいところですがNRIセキュアテクノロジーズによると常識とも言えないと思われます。

http://www.atmarkit.co.jp/news/200607/27/nri.html

先日、Java用のWebアプリ入門書を見ていたら間違った(とまでも言わなくても無用な制限を付ける)セキュリティ確保の方法が紹介してありました。Javaで構築されたWebアプリに使い辛い物が多いのはこういったノウハウが広まっているからなのでしょう。

mod_pythonの脆弱性

MOPBでPHPの脆弱性ばかり書いているので他の脆弱性も書いておきます。

Miles Egan discovered that mod_python, when used in output filter mode, did not handle output larger than 16384 bytes, and would display freed memory, possibly disclosing private data. Thanks to Jim Garrison of the Software Freedom Law Center for identifying the original bug as a security vulnerability.

出典:USN-430-1

WebApp (PerlのCMS)の脆弱性

MOPBでPHPの脆弱性ばかり書いているので書いておきます。

Multiple unspecified vulnerabilities in WebAPP before 0.9.9.6 have unknown impact and attack vectors. NOTE: This information is based upon a vague initial disclosure. Details will be updated after the grace period has ended.

出典:CVE-2007-1259

WebAPP before 0.9.9.5 allows remote attackers to submit Search form input that is not checked for (1) composition or (2) length, which has unknown impact, possibly related to “search form hijacking”.

出典:CVE-2007-1187

Summary: WebAPP before 0.9.9.5 does not “censor” the Latest Member real name, which has unknown impact.

出典:CVE-2007-1186

The (1) Search, (2) Edit Profile, (3) Recommend, and (4) User Approval forms in WebAPP before 0.9.9.5 use hidden inputs, which has unknown impact and remote attack vectors.

出典:CVE-2007-1185

The default configuration of WebAPP before 0.9.9.5 has a CAPTCHA setting of “no,” which makes it easier for automated programs to submit false data.

出典:CVE-2007-1184

WebAPP before 0.9.9.5 allows remote authenticated users to spoof another user’s Real Name via whitespace, which has unknown impact and attack vectors.

出典:CVE-2007-1183

全ての今月の脆弱性情報です。多すぎるので全てを書いていません。言語に関わらずCMSには脆弱性が多いです。すべてのCMSユーザはセキュリティ情報に常に注目するべきです。

追記:後で見てみると「CAPTCHA設定がデフォルトOFFなので…」とありますね。これでCVEを作るとなるとかなりの数のWebアプリが脆弱… 生成されるCAPTCHAイメージがOCRに脆弱(PEARのCPATCHAなど)… などCVEが大量に作れます。放っておくとこのブログも海外からのコメント・トラックバックSPAMが毎日数百… 確かに今時CAPTCHAは必須ともいえます…

mod_pythonの脆弱性

MOPBでPHPの脆弱性ばかり書いているので他の脆弱性も書いておきます。

Miles Egan discovered that mod_python, when used in output filter mode, id not handle output larger than 16384 bytes, and would display freed memory, possibly disclosing private data. Thanks to Jim Garrison of the Software Freedom Law Center for identifying the original bug as a security vulnerability.

出典:USN-430-1

MOPBの反応

Stefanさんのブログによると、MOPBのおかげでリファレンスカウンタ、allow_url_include(とallow_url_fopen)のセキュリティホールがやっと修正されることになったようです。ブログの内容はリンク先を見ていただくとしてMOPBの成果として修正された問題についてコメントします。

もっと読む

MOPB-10-2007:PHP php_binary Session Deserialization Information Leak Vulnerability

“the Month of PHP Bugs”をできるだけ多くの方が読めるように、Stefanさんの承諾を得て日本語訳を公開しています。このブログの「the Month of PHP Bugs」カテゴリでMOPBの翻訳ページを一覧できます。分かりやすいように意訳できる部分は意訳します。厳密に原文の通り訳していないので正確性を重視される方は原文をご覧ください。

もっと読む

MOPB-09-2007:PHP wddx_deserialize() String Append Buffer Overflow Vulnerability

“the Month of PHP Bugs”をできるだけ多くの方が読めるように、Stefanさんの承諾を得て日本語訳を公開しています。このブログの「the Month of PHP Bugs」カテゴリでMOPBの翻訳ページを一覧できます。分かりやすいように意訳できる部分は意訳します。厳密に原文の通り訳していないので正確性を重視される方は原文をご覧ください。

もっと読む

MOPB-08-2007:PHP 4 phpinfo() XSS Vulnerability (Deja-vu)

“the Month of PHP Bugs”をできるだけ多くの方が読めるように、Stefanさんの承諾を得て日本語訳を公開しています。このブログの「the Month of PHP Bugs」カテゴリでMOPBの翻訳ページを一覧できます。分かりやすいように意訳できる部分は意訳します。厳密に原文の通り訳していないので正確性を重視される方は原文をご覧ください。

もっと読む