it-swarm.com.de

Kompromittiertes Timthumb-Skript - Welche Vorsichtsmaßnahmen sind zu treffen?

Lesen Sie einen Artikel über die Gefährdung von Timthumb-Skripten, durch die WP -Installationen angreifbar werden. Quelle hier

Werfen wir einen Blick auf timthumb.php. Es gibt die folgende Funktion, von der ich annehme, dass sie der Schuldige ist.

function checkExternal ($src) {

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

Würde es ausreichen, diese externen Domänen zu löschen, da meine Website stark angepasst ist (daher ist das Aktualisieren von timthumb kompliziert), da alle Bilder auf meinem Server gehostet werden und daher keine der Domänen von Drittanbietern erforderlich sind?

2
Sledge81

Der beste Weg: Entfernen Sie das timthumb-Skript von Ihrem Server und ändern Sie Ihr Thema so, dass es gar nicht erst benötigt wird.

Bei neueren Versionen von WordPress ist Timthumb nicht unbedingt erforderlich. Mit der Funktion add_image_size () können benutzerdefinierte Bildgrößen im Design erstellt werden. Und die meisten älteren Themen, die ich immer noch gesehen habe, verwendeten es, um eine Art "Thumbnail" -Funktionalität zu erstellen, die jetzt in WordPress selbst integriert ist.

Das einzige, was TimThumb wirklich macht, das WordPress erschwert, ist das benutzerdefinierte Zuschneiden, bei dem Sie Bilder auf die eine oder andere Seite zuschneiden können, anstatt eine auf der Mitte basierende Zuschneidemethode auszuführen. Und die meisten Themen verwenden diese Funktionalität nicht.

6
Otto

Ich bin mit Otto einverstanden, dass es viel besser wäre, the_post_thumbnail und add_image_size zu verwenden, aber eine andere Sache, die timthumb macht, ist das schnelle Zuschneiden von Bildern auf einer älteren Site mit Tausenden von Bildern, die Sie verwenden müssten Regenerieren Sie Thumbnails , um sie neu zu schneiden, was insbesondere beim Shared Hosting eine ziemliche Aufgabe wäre.

Zusätzlich zum Entfernen des Arrays für zulässige Sites stellen Sie sicher, dass Ihr Server/Hosting so konfiguriert ist, dass keine 777-Berechtigungen für den Cache-Ordner erforderlich sind. Ich bin sicher, dass dies mit suPHP funktioniert, aber mit DSO, das an niemanden gesendet wird: nobody oder www-data: www- Daten.

1
Chris_O

Die ursprüngliche Quelle (Link unterdrückt) lieferte keinen tatsächlichen Angriffsvektor. Das bedeutet, dass der oben gezeigte Code geändert wurde, um eine entfernte .php-Datei mit $allowedSites abzurufen.

Wie dies erreicht wurde, ist immer noch ein Rätsel, da Artikel wie diese nicht wirklich die richtigen Empfehlungen durchlaufen und kein Peer-Feedback erhalten. Sie scheinen keine Ahnung zu haben, wie jemand eine bösartige URL (wie fetchbadphpfile.com) in timthumb.php geschrieben hat (oder eine andere Datei für diese Angelegenheit).

Dies ist zwar eine schlechte Codierung seitens timthumb, da die Überprüfung von URLs (oder was auch immer) immer noch einen Hack erfordert, entweder durch ein anderes Sicherheitsproblem oder höchstwahrscheinlich durch ein vorab injiziertes böswilliges Skript.

ps. Nebenbei bemerkt, timthumb.php hatte tatsächlich vor einigen Versionen einen dokumentierten XSS-Angriffsvektor, der mehrere Sicherheitshinweise durchlief und praktisch keine Beachtung fand ...

0
Wyck

WordThumb ist eine Abspaltung und ein Umschreiben von timthumb.php nach der timthumb-Sicherheitsanfälligkeit. Es ist vollständig abwärtskompatibel mit timthumb und bietet eine bessere Sicherheit und eine gleiche oder bessere Leistung.

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

0
Refiner