Visualizza il feed RSS

La strada per l'inferno è lastricata di buone intenzioni...

Attacco a Oscommerce

Valuta questo inserimento
di pubblicato il 13-09-2010 alle 08:46 (4542 Visite)
Recentemente si è verificata una serie di attacchi ai siti basati su piattaforma Oscommerce. Sfruttando due bugs nei files di login della cartella Admin e nel file file_manager.php, esiste la possibilità concreta di accedere (e quindi manipolare) la directory principale.

Un metodo per verificare se si è “sotto attacco” è quello di controllare i files nella directory principale: files con data più recente dell'ultimo aggiornamento o con nomi strani (come ad esempio goog1e7cbf7918a9a18e.php, fly.php, jdsaadiasd.php, saf.php, uploat.php) indicano che sicuramente il sito è stato violato. Spesso viene sositituito anche il file product_info.php con un file che produce un risultato simile a questo:


Per risolvere il problema basta seguire queste semplici regole:
  • Cancellare completamente la directory di Oscommerce e rifare l'upload di una versione “pulita”
  • Ricaricare il database con una versione “pulita”
  • In caso si utilizzino versioni vecchie di OsCommerce (come ad esempio 2.2 MS2, che aveva l'accesso “aperto” al pannello Admin, utilizzare questa contribution osCommerce Community Add-Ons che consente di settare l'accesso tramite username e password al pannello di amministrazione. Le versioni più recenti (come la 2.2 RC1) hanno già installato questa contribution di default
  • Cambiare il nome della cartella admin con un nome meno ovvio (modificare anche il file admin/includes/configure.php , nelle righe corrispondenti a define DIR_WS_ADMIN e define DIR_FS_ADMIN modificare “admin” con il nuovo nome della cartella)
  • Modificare il file catalog/includes/functions/whos_online.php sostituendo, circa alla riga 30:
    Codice PHP:
    $wo_last_page_url getenv('REQUEST_URI'); 
    con
    Codice PHP:
     $wo_last_page_url htmlspecialchars(getenv('REQUEST_URI')); 
  • Eliminare il file admin/file_manager.php
  • Eliminare il file admin/ define_language.php
  • Cambiare password per l'accesso al sito
  • Cambiare password per l'accesso al Database
  • Verificare i permessi dei files includes/configure.php e admin/includes configure.php: vanno settati a 444
  • Su Aruba è possibile proteggere la cartella admin (o come è stata rinominata) dal pannello di controllo (protezione directory hosting Linux). In questo modo è possibile settare una ulteriore accoppiata nome utente/password per proteggere la cartella. Il sistema non fa altro che creare automaticamente un file .htaccess e un file .htpasswd nella cartella Admin.
Gli exploit in questione sono dettagliatamente spiegati a questo link (grazie a Bottomap per la segnalazione):


Analizzando il primo dei due exploit , si legge chiaramente
You can use this Trick if admin folder not protected by .htaccess
ergo tutto quanto scritto sopra potrebbe essere sostituito dalla sola protezione della cartella Admin con .htaccess, ma la prudenza non è mai troppa.

Alla prossima

Chico
Categorie
Linux , Open Source

Commenti