Im Blog Ajzele heißt es im Artikel Imagine this, Magento 1.5.0.0 Security Flaw Edition
Shockingly there is a file called get.php in a root of Magento. OK, that fact alone is not that shocking. Try running something like http://{{unsecure_base_url}}/get.php/app/etc/local.xml where {{unsecure_base_url}} is your test host/domain. It will nicely return entire content of the config.xml file.
Magento 1.5 sollte somit in Verbindung mit der get.php im Live-Betrieb erst einmal nicht eingesetzt werden. Zudem würde ich ohnehin allen Shop-Betreibern raten mit dem Update auf die 1.5 so lange zu warten bis die Dienstleister ein wenig mit Upgrades von Version 1.4 auf 1.5 geübt haben und Erfahrungen gesammelt sind.
Magento hat auf das Sicherheitsproblem im übrigen schon reagiert und die get.php in Version 1.5.0.1 entfernt. Ob das das Problem nun wirklich löst möchte ich bezweifeln - die Datei wird ja nicht völlig ohne Sinn in Magento vorhanden gewesen sein.
Die get.php diente, wirft man einen Blick in den Source, übrigens dem Auslesen von Daten aus einem Datenbank-Storage:
$databaseFileSotrage = Mage::getModel('core/file_storage_database');
$databaseFileSotrage->loadByFilename($filename);
if ($databaseFileSotrage->getId()) {
$directory = dirname($filePath);
if (!is_dir($directory)) {
mkdir($directory, 0777, true);
}
$fp = fopen($filePath, 'w');
if (flock($fp, LOCK_EX | LOCK_NB)) {
ftruncate($fp, 0);
fwrite($fp, $databaseFileSotrage->getContent());
}/* else {
while (!flock($fp, LOCK_EX | LOCK_NB)) {
usleep(1000);
}
}*/
flock($fp, LOCK_UN);
fclose($fp);
}
if (file_exists($filePath) || is_readable($filePath)) {
$transfer = new Varien_File_Transfer_Adapter_Http();
$transfer->send($filePath);
exit;
}