Water reflections on a roof

Blog

Willkommen zur neuen Shredzone

Vor 10 Jahren war es soweit: Die shredzone.de ging online! Heute bin ich stolz darauf, dass ich es rechtzeitig zum Jubiläum geschafft habe, mein neues Blog online zu stellen.

Die Blog-Software nennt sich Cilla und ist eine Eigenentwicklung, in die jetzt schon einige lange Abende an Arbeit geflossen sind. Einige Dinge, die ich geplant habe, habe ich nicht mehr rechtzeitig fertig bekommen. Deshalb trägt die Shredzone momentan das (mittlerweile für's Web 2.0 schon fast obligatorische) Beta-Batch. 😉 Den Quelltext von Cilla werde ich auf meiner Entwicklungs-Site freigegeben, sobald ich nicht mehr allzu viel darin umstelle.

Der Inhalt meiner alten Homepage - insbesondere die Fotogalerie - wird nach und nach auf meinen neuen Auftritt umziehen.

Viel Spaß auf der neuen Shredzone!

PS: Bis das Captcha-System fertiggestellt ist, werde ich alle neuen Kommentare erst einmal moderieren. Bitte habt ein wenig Geduld, bis euer Kommentar freigegeben wird.

PHP-Angriff von EviLuTz

Gestern hat ein netter Zeitgenosse offenbar versucht, meine Websites zu hacken. Er klapperte auf gut Glück eine Liste von über 700 URLs ab, die alle versuchen, die URL http://glendalehills.am/photo.gif? einzubinden. Hierbei handelt es sich nicht um ein Bild, sondern um ein simples PHP-Script:

<?php
echo ("EviLuTz hacked you");
?>

Der Sinn hinter dieser Aktion wird sein, die angegriffenen Server auf ein bei Hackern sehr beliebtes PHP-“Feature” abzuklopfen. PHP erlaubt es beim include()-Kommando, URLs anzugeben, die PHP dann artig vom externen Server nachlädt und einfach mal ausführt. Idiotischerweise ist diese Funktionalität per Default erlaubt, und kann auch erst seit PHP 5.2.0 gezielt abgeschaltet werden. Wenn man nun einen Parameter ungeprüft übernimmt und in das include() füttert, um normalerweise eine lokale PHP-Datei einzubinden, ist die Sicherheitslücke auch schon da. Leider tappen viele PHP-Entwickler in diese Falle. Vermutlich auch, weil dieses Feature erst irgendwann nachträglich dazukam. Andererseits dürfen Parameter, die vom Besucher der Site kommen, sowieso niemals ungeprüft verwendet werden.

Aber zurück zum Thema: Wenn der Angreifer nach dem Aufruf eine Seite zurückbekommt, in der der Text “EviLuTz hacked you” enthalten ist, weiß er, dass die Site angreifbar ist. Ob er dann sofort ein Hack-Script nachschiebt oder erst mal nur die Server sondiert, kann ich nicht sagen.

Der Angriff ging gegen mehrere Domains, aber immer von der IP 91.121.31.184 aus. Sie gehört offenbar einem dedizierten Server eines französischen ISPs. Auffällig ist auch der User-Agent, der mit der Anfrage mitgeschickt wird: “Toata dragostea mea pentru diavola” (laut Google-Übersetzer ist das Rumänisch für “Alle meine Liebe für den Teufel”).

Die Domain glendalehills.am gehört laut Whois seit 2005 der Firma “Glandale Hills” (sic!) in Armenien.

Als schnelle Gegenmaßnahme empfiehlt sich, die IP und/oder den User-Agent zu sperren. Auf jeden Fall sollte bei PHP außerdem allow_url_include abgeschaltet werden, um sich generell gegen diese Angriffe zu wehren. (Leider erfordert manche PHP-Software dieses Feature, zum Beispiel um externe Plugins nachzuladen.) Und der übliche Rat: Wikis, Foren, CMSe und weitere Software, die auf PHP aufsetzt, sollten immer auf einem möglichst aktuellen Stand gehalten werden.

PS: allow_url_include = Off stoppt nur die schlimmste Möglichkeit, nämlich dass fremde PHP-Scripte auf dem eigenen Server ausgeführt werden. Wenn die verwendete PHP-Software aber grundsätzlich anfällig ist (also HTTP-Parameter ungeprüft included), ist weiterhin eine gefährliche Sicherheitslücke offen, da darüber auch lokale Dateien gelesen oder zum Beispiel Administrations-Skripte aufgerufen werden können.

The Silence of the Fans

Hmmm... For a manufacturer who makes a big deal out of the quality of his power supplies, this is a rather sad picture:

All capacitors on the photo are bulged or have leaked. I had two power supplies of this brand in the upper price range. Both failed shortly after the warranty ended. At least it was a well-invested lesson.