web-dev-qa-db-ja.com

Timthumbスクリプトが危険にさらされています - どのような予防策を講じますか?

Timthumbスクリプトが脆弱になりWPインストールを脆弱にするという記事を読んでください。 ここから出てください

Timthumb.phpを見てみると、次のような関数があります。これが原因です。

function checkExternal ($src) {

    $allowedSites = array(
        'flickr.com',
        'picasa.com',
        'blogger.com',
        'wordpress.com',
        'img.youtube.com',
    );

私のサイトは高度にカスタマイズされているので(したがってtimthumbを更新するのは複雑です)、すべてのイメージが私のサーバーでホストされているので、それらの外部ドメインを削除すれば十分ですか。

2
Sledge81

最善の方法:サーバーからtimthumbスクリプトを削除し、そもそもそれを必要としないようにテーマを変更します。

Timthumbは、新しいバージョンのWordPressでは本当に必要ありません。 add_image_size()関数を使用して、テーマにカスタムの画像サイズを作成できます。そして私が今でも見ている最も古いテーマは「サムネイル」タイプの機能を作成するためにそれを使っていました。そしてそれは今WordPress自身に組み込まれています。

TimThumbがWordPressで難しくしているのは、ミドルベースのクロップ方法ではなく、画像を一方または他方にトリミングできるカスタムクロッピングだけです。そしてほとんどのテーマはこの機能を使っていません。

6
Otto

私はOttoにthe_post_thumbnailadd_image_sizeを使うほうがはるかによいと同意しますが、timthumbがするもう一つのことはオンザフライで画像を切り取ることですので、何千もの画像がある古いサイトでは サムネイル を再クロップすると、特に共有ホスティングではかなりの作業になります。

許可されたサイトの配列を削除することに加えて、あなたのサーバー/ホスティングがsuPHPで動くが、誰にも選ばれていないDSOで動くと確信しているキャッシュフォルダで777のパーミッションを必要としないデータ。

1
Chris_O

この元の情報源(link withheld)は、実際の攻撃方法を提供していませんでした。上記のコードがどういうわけか$allowedSitesを使ってリモートの.phpファイルを取得するように変更されたことを意味します。

これらの記事は実際には適切な勧告を通さず、ピアからのフィードバックも得ていないので、それがどのように達成されたかは依然として謎です。 (またはそのことに関する他のファイル)。

URLを検証しないためのtimthumb側のコーディングは不適切ですが、セキュリティ上の問題、または悪意のあるプレスクリプトを介したハッキン​​グが依然として必要です。

ps。ちなみにtimthumb.phpは実際には数バージョン前に文書化されたXSS攻撃の方法を持っていました。

0
Wyck

WordThumbは、timthumbの脆弱性の後のtimthumb.phpのフォークおよびリライトです。それはtimthumbと完全に後方互換性があり、より良いセキュリティと同等以上のパフォーマンスを提供します。

http://code.google.com/p/wordthumb/

0
Refiner