Infocurci - programmatore Php Roma
Infocurci - programmatore Php Roma
Questo sito non lascia nessun cookie sul vostro pc, consuma pochissimi kb, non profila nulla e non raccoglie dati personali. Siete i benvenuti.

Magento : Shoplift, il bug/virus di Magento

L'estate 2015 verrà ricordata anche per un bug, comune a tutte le versioni di Magento, capace di consentire a malintenzionati un facile accesso al nostro software con effetti molto gravi. Ecco come aggiornare Magento (su questo link: potete verificare se il vostro sito è a rischio)

Magento

SUPEE-5344 e Shoplift sono le parole chiave con le quali identificare l'incubo di migliaia di siti di ecommerce basati su piattaforma Magento. Si tratta di un bug di sicurezza che consente un facile accesso a malintenzionati per iniettare sul nostro server codice remoto capace di effetti devastanti. SUPE-5344 è invece il nome della patch di sicurezza rilasciata dallo staff di Magento.

Il bug consente ai malintenzionati di creare nuovi file sul nostro server, con effetti quali:

  • modifica delle password degli amministratori
  • modifiche varie sugli account degli utenti (cambio delle password, modifiche dell'indirizzo email associato)
  • scambio di email degli account (per cui un ordine di un utente risulta associato all'email di un altro cliente)
  • presenza di file con estensione .php dentro la cartella 'media'
  • presenza di file .csv (creati senza specifico intervento dell'amministratore) nella cartella 'export'
  • creazione di nuovi voucher sconto (figo!)

... direi che ce n'è abbastanza per decidere di correre ai ripari.

La soluzione è quella di scaricare dal sito ufficiale la patch SUPE-5344, dando per scontato però che nei mesi precedenti avete già installato le altre. Visto che esperienza mi dice che pochi usano aggiornare continuamente Magento, la procedura completa è questa:

  1. Aprire la pagina di download ufficiale del sito Magento
  2. Scaricare tutte le patch (sezione "Magento Community Edition Patches") facendo ben attenzione alla nostra versione di Magento. Ciascuna patch è basata su un unico file con estensione ".sh".
  3. Eseguire una copia di backup di sito e database
  4. Caricare i file .sh sulla root del nostro server ed eseguirle in ordine cronologico usando, da shell, il comando
  5. sh NOMEFILE.sh
  6. (ad esempio sh PATCH_SUPEE-2725_EE_1.9.1.1-EE_1.11.2.0_v2-2015-04-22-06-53-42.sh)


Tutto qui? Magari

Quello che dovete fare ora è replicare le modifiche eseguite da queste patch, anche su eventuali template ed estensioni personalizzate. Ad esempio se state usando un template per il carrello, dovete apportare al file

app/design/frontend/VOSTRO TEMPLATE/default/template/checkout/cart.phtml

questa modifica:

il blocco di codice

 <button type="button" title="<?php echo $this->__('Continue Shopping') ?>" class="button btn-continue" onclick="setLocation('<?php echo $this->getContinueShoppingUrl() ?>')"><span><span><?php echo $this->__('Continue Shopping') ?></span></span></button>

diventa

<button type="button" title="<?php echo Mage::helper('core')->quoteEscape($this->__('Continue Shopping')) ?>" class="button btn-continue" onclick="setLocation('<?php echo Mage::helper('core')->quoteEscape($this->getContinueShoppingUrl()) ?>')"><span><span><?php echo $this->__('Continue Shopping') ?></span></span></button>

va da sè che non posso in questo spazio elencare tutte le modifiche (nella versione 1.5.0.1 sono 75, in altre versioni sono altre ancora..). La soluzione ideale è avere a disposizione una versione vergine, confrontarla con quella modificata e poi fare un inventario delle estensioni/template personalizzate presenti nel nostro sito, per replicare le modifiche una per una.

E poi, a lavoro terminato, verificare se il nostro sito è ancora in pericolo usando l'apposito tool.

Se avete bisogno di consulenze in merito, potete contattarmi; sarò operativo tutta l'estate.