Aug 6, 2004

Trackbackの脆弱性

誰もが気が付きまくっている、性善説に基づいて設計されたとしか思えない、あのTrackbackの自明な脆弱性。Exploitも超簡単です。

Trackback の脆弱性についての勧告: blog.bulknews.net

以下のようないい加減なHTMLをデバッグ用・動作試験用に使っていたのですが(exploitに使われる可能性を鑑みて削除)、ついに使えなくなってしまう日が来てしまいますか。何やら寂しいような…。

私は宮川さんのエントリにあるような修正をlib/MT/App/Trackback.pmに施しています。が、実際のところこの修正の有無に関わらずDDoS攻撃に対して脆弱なのは変わりません。この修正はどちらかというと単にSpam対策ですね。mod_rewriteによる修正の方がより本質的だと思います。

ちなみにレンタルサーバーなどではApacheのMultiViewsオプションが標準で有効になっていることがしばしばあるので(少なくともlolipopはそうなっている)、Trackbackスクリプトはmt-tb.cgiだけでなくmt-tbでも実行できてしまいます。したがって、mod_rewriteで対処する場合には、以下のいずれかにしておく必要があります(赤字は宮川さん版からの変更部分)。

RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} mt-tb\.cgi
RewriteCond %{REQUEST_URI} mt-tb(\.cgi)?
RewriteCond %{HTTP_REFERER} .+ [OR]
RewriteCond %{HTTP_USER_AGENT} ^Mozilla/
RewriteRule (.*) - [F,L]
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} mt-tb\.cgi
RewriteCond %{HTTP_REFERER} .+ [OR]
RewriteCond %{HTTP_USER_AGENT} ^Mozilla/
RewriteRule (.*) - [F,L]

それにしてもApacheのRewriteRuleって分かりにくいです。例えば、上のRewriteRuleを/mt/.htaccessに書いたとします。すると、/.htaccessに書いておいたRewriteRuleが無効になってしまいます(気のせい?)。したがって、/mt/.htaccessにルールを書くのをやめて/.htaccessに一緒に記述するか、/mt/.htaccessに/.htaccessで書いたルールを改めて記述する必要があります。何か納得行きませんね。

About Me

My Photo

つくばで働く研究者

Total Pageviews

Amazon

Copyright 2012 Ogawa::Buzz | Powered by Blogger
Design by Web2feel | Blogger Template by NewBloggerThemes.com