php.bkdr: la backdoor senza altra specificazione
php.bkdr, senza altro suffisso, è la famiglia che l'antivirus lato server usa quando riconosce una backdoor PHP ma non una sua specializzazione: non è un dropper, non è una webshell, non imita un plugin. Nel corpus di misura di WPsec.it dell'agosto 2026 compare su 19 domini e 10 server; nel 64% dei casi il file ha un nome di senso compiuto, e uno su quattro sta dentro le cartelle di WordPress. È il rilevamento che più spesso arriva da solo nell'email dell'hosting, e per questo il più sottovalutato.
Famiglia: Backdoor PHP generica · Anche noto come: bkdr, backdoor · Aggiornato il 1 settembre 2026
Le stringhe esatte
Se hai trovato una di queste stringhe sul tuo sito, sei nella pagina giusta.
php.bkdrSMW-INJ-CLOUDAV-php.bkdrSMW-BLKH-SA-CLOUDAV-php.bkdrbkdr
Dove si trova
- Fuori dalle cartelle di WordPress in tre casi su quattro, dentro wp-content/plugins nel 13%
- Con un nome che sembra normale: wp-cache, config, functions, class-loader e simili, nel 64% dei rilevamenti
- Sia con estensione .php sia senza estensione: il 13% dei file non ne ha una
Cosa fa
- Riceve istruzioni da una richiesta web, di solito con un parametro o un cookie che fa da chiave, ed esegue codice.
- Non ha una funzione unica: è lo strato base sopra cui l'attaccante carica ciò che gli serve in quel momento.
- Resta silenziosa per settimane; molti proprietari la scoprono solo dall'email dell'hosting.
Come verificare
Comandi di sola lettura: non modificano nulla. Sostituisci ESEMPIO.it con il tuo dominio ed esegui dalla radice del sito.
Cerca esecuzione dinamica di codice nei file fuori dal core
grep -rn --include='*.php' -E '(eval|assert|create_function|call_user_func(_array)?)\s*\(\s*(\$|base64_decode|gzinflate|str_rot13)' . | grep -vE 'wp-(admin|includes)/' | head -30Cerca chi legge parametri o cookie e li passa a funzioni pericolose
grep -rn --include='*.php' -E '\$_(GET|POST|COOKIE|REQUEST)\[[^]]+\]\s*\)?\s*;?\s*(eval|assert|system|exec|include|require)' . | grep -vE 'wp-(admin|includes)/' | head -20Confronta core e plugin con le copie ufficiali
wp core verify-checksums && wp plugin verify-checksums --all
Cosa non basta fare
- Fermarsi al file segnalato: una firma generica dice che c'è una backdoor, non che sia l'unica.
- Aggiornare WordPress: l'aggiornamento non tocca un file che non appartiene al core né a un plugin del repository.
- Ripristinare un backup recente: nel corpus la vita mediana degli artefatti prima del rilevamento era spesso di settimane, quindi il backup è già infetto.
Cosa fare
- Chiedi all'hosting il percorso completo e la data del primo rilevamento: la data apre la finestra in cui cercare gli altri file.
- Elenca tutti i file PHP modificati o creati in quella finestra, su tutto l'account e non solo nel sito segnalato.
- Verifica le somme di controllo del core e dei plugin: distingue in pochi secondi un file legittimo modificato da uno aggiunto.
- Chiudi il vettore di ingresso e ripeti la scansione dopo qualche giorno.