Visualizzazione dei risultati da 1 a 8 su 8

Discussione: virus in intranet

  1. #1

    virus in intranet

    Attenzione: Usare Se Trovate Uno Script Non Vostro In Una Qualunque index.php/html Del Vostro Server Virtuale in un noto Hoster (chiedo permesso per fornire il nome)

    Per qualche motivo il mio sito e' tempestato di malware javascripts e di certo non sono stato io a metterceli. La mia idea e' che il mio host ha un virus nella intranet o un utente del mio stesso server virtuale e' riuscito simpatcamente ad accedere ai miei files. In soldoni, ogni index del sito contiene a fondo pagina un JS maligno che non posto per intero per evitarvi casini ... questo e' a grandi linee l'inizio e la fine dello scirpt:
    codice:
    <script language="javascript">$="Z64aZ3dZ22fqb0t-7vrs} ... function z(s){r="";for(i=0;i<s.length;i++){if(s.charAt(i)=="Z"){s1="%"}else{s1=s.charAt(i)}r=r+s1;}return unescape(r);}eval(z($));</script>
    ho i sorgenti interi di questa porcheria poiche' modificando eval ed unescape ho creato una super funzione che mi chiede conferma per ogni eval e mi mostra cosa sta valutando. Lo script e' idiotamente cryptato quindi e' stata un'idiozia capire che riportava ad un sito noto per warms e virus online. Poco importa, caratteristica di questo script e' che comincia con <script language="javascript">, una boiata degna dell'ideatore di questo orrore poiche' ogni mio script e' uno <script type="text/javascript"> o <script type="application/x-javascript"> quindi ho creato un file chiamato clean.php capace di sfogliarmi l'intero VS e pulire le index tramite una semplice regexp. Questo il file compatibile PHP 4, messo nella root e richiamato via web, usare con cautela e solo dopo aver appurato che ogni file javascript incluso non e' uno script language="javascript"
    codice:
    <?php
    // mannaggia a loro, by Andrea Giammarchi
    set_time_limit(0);
    class MaliciousJSRemover{
       var  $_re = '/(?i)<script language="javascript">([^\\2]+?)(<\/script>)/',
            $_affected = array(),
            $_cleaned = array(),
            $_stillthere = array()
        ;
        function result(){
            $s =    'Affected Files: '.count($this->_affected).'
    '.
                    'Cleaned Files: '.count($this->_cleaned).'
    '.
                    'Infected Files: '.count($this->_stillthere)
            ;
            if(count($this->_affected))
                $s.='<pre>'.
                        print_r($this->_affected, true).
                    '</pre>'
            ;
            return $s;
        }
        function parse($root = './', $level = 0){
            if($level === 0){
                $this->_affected = array();
                $this->_cleaned = array();
                $this->_stillthere = array();
            }
            foreach(glob($root.'*') as $file){
                if(strpos($file, '_Backup_') === false){
                    //echo str_repeat('', $level).$file.'</br />';
                    if(is_dir($file))
                        $this->parse($file.'/', $level + 1);
                    elseif(strpos($file, 'index') !== false){
                        $tmp = file_get_contents($file);
                        if(preg_match($this->_re, $tmp)){
                            $this->_affected[] = $file;
                            if(@$fp = fopen($file, 'wb')){
                                fwrite($fp, preg_replace($this->_re, '', $tmp));
                                fclose($fp);
                                $this->_cleaned[] = $file;
                            } else {
                                $this->_stillthere[] = $file;
                            }
                        }
                    }
                }
            }
            return $this;
        }
    }
    if(!function_exists('file_get_contents')){
        function file_get_contents($file){
            $fp = fopen($file, 'rb');
            $r = fread($fp, filesize($file));
            fclose($fp);
            return $r;
        }
    }
    $clean = new MaliciousJSRemover;
    $clean->parse('./');
    echo $clean->result();
    ?>
    il risultato e' praticamente niente se non siete stati infettati, una lista di files contenente il codice maligno in question qualora lo foste stati.
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Non credo ci siano problemi ma a scanso di equivoci scrivilo con qualche asterisco di camuffo. ilato:

  3. #3
    Originariamente inviato da nicola75ss
    Non credo ci siano problemi ma a scanso di equivoci scrivilo con qualche asterisco di camuffo. ilato:
    aladra
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Originariamente inviato da andr3a
    aladra

  5. #5
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    Originariamente inviato da andr3a
    aladra
    :quote:
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  6. #6
    continuano a chiudermi il ticket, ad ignorarmi, e a non dare risposte ... direi assistenza eccellente
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  7. #7
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    Originariamente inviato da andr3a
    continuano a chiudermi il ticket, ad ignorarmi, e a non dare risposte ... direi assistenza eccellente
    oramai il nome se lo sono fatto...
    sai quanto gliene frega?

    non per niente io li evito e li sconsiglio
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  8. #8
    ma pensa te... vale la pena controllare, grazie mille!
    Ondare, il mio blog!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.