php.webshell.eval: una shell che esegue comandi sul tuo hosting
php.webshell.eval è il nome che l'antivirus assegna a un file PHP che esegue codice arbitrario ricevuto da una richiesta web: chi conosce l'URL può leggere, scrivere ed eseguire sul tuo spazio hosting con i permessi del sito. È fra le famiglie più frequenti nel corpus di misura di WPsec.it, e va trattata come un accesso completo già avvenuto, non come un file da cancellare.
Famiglia: Webshell · Aggiornato il 1 settembre 2026
Le stringhe esatte
Se hai trovato una di queste stringhe sul tuo sito, sei nella pagina giusta.
php.webshell.evalphp.webshellphp.bkdr.eval
Dove si trova
- Ovunque nello spazio web, spesso in wp-content/uploads/ o in una cartella di plugin
- Con nomi generici oppure con nomi casuali generati per quel sito
- In file dall'estensione insolita quando il server le esegue comunque, per esempio .phar o .php7
Cosa fa
- Esegue il codice che riceve nella richiesta, quindi può fare tutto ciò che l'utente del sito può fare.
- Consente di leggere wp-config.php e quindi le credenziali del database.
- Consente di raggiungere gli altri siti ospitati sullo stesso account, che non sono isolati fra loro.
Come verificare
Comandi di sola lettura: non modificano nulla. Sostituisci ESEMPIO.it con il tuo dominio ed esegui dalla radice del sito.
Chiedi all'hosting percorso e data del rilevamento
Nel pannello antivirus apri il rilevamento e annota percorso completo e dataCerca esecuzione dinamica di codice nei file del sito
grep -rn --include='*.php' -E '(eval|assert|preg_replace\s*\(.*/e|create_function)\s*\(' wp-content/ | head -30Cerca file eseguibili con estensioni insolite
find . -type f \( -name '*.phar' -o -name '*.php7' -o -name '*.php8' -o -name '*.pht' -o -name '*.phtml' \) -ls
Cosa non basta fare
- Cancellare il file e riprendere il lavoro: chi ha avuto accesso ha quasi sempre lasciato più di un punto di rientro.
- Cambiare solo la password di WordPress: vanno considerate compromesse anche le credenziali del database, quelle FTP e quelle del pannello.
Cosa fare
- Tratta le credenziali contenute in wp-config.php come compromesse e cambiale, database incluso.
- Verifica tutti i siti sullo stesso account hosting, non solo quello segnalato.
- Cerca file con estensioni alternative, che spesso sfuggono ai controlli impostati solo su .php.
- Conserva i log di accesso prima che vengano ruotati: sono l'unico modo per ricostruire cosa è stato fatto.