Senza sviluppatore PHP, recupera accessi, verifica i backup e identifica il runtime. Poi scegli PHP corretto, migrazione o archivio statico per affrontare PHP2Shell.
01
Recuperare accesso e responsabilità
Raccogliere registrar, hosting, server/pannello, codice, credenziali DB e fatturazione. Definire chi approva manutenzione e ripristina. Identificare applicazione/versione dai file locali. Recuperare account e sorgenti prima di cambiare PHP in produzione.
02
Conservare prove e provare il ripristino
Se sospetti un attacco, salvare i log prima della pulizia. Conservare codice, DB, upload, configurazione e attività in un insieme datato, cifrato e protetto; annotare codifica e storage. Ripristinare privatamente e verificare contenuti/login. Un messaggio di backup non basta.
La patch non esclude un’intrusione ↗03
Mappare le generazioni PHP
PHP 5.3/5.6 può usare API rimosse. PHP 7 rimuove ext/mysql; PHP 8 rimuove each()/create_function() e irrigidisce tipi/firme; PHP 8.2 depreca proprietà dinamiche. Leggere ogni migrazione attraversata. Un minimo storico non raccomanda PHP abbandonato né verifica codice proprio.
04
Scegliere riparazione, migrazione o archivio
Una patch del fornitore verificata può dare tempo; esigere prove per entrambi i CVE e supporto. PHP abbandonato richiede una destinazione mantenuta, non eccezione WAF permanente. Riparare applicazioni gestibili, sostituire dipendenze abbandonate o archiviare contenuti statici sostituendo login, ricerca e moduli.
05
Creare prova privata realistica
Allineare PHP Web, estensioni, INI, DB e routing alla destinazione. Proteggere copie anonimizzate e bloccare mail vere, addebiti e webhook di produzione. Provare framework, plugin e personalizzazioni insieme. Conservare test aziendali e log, richiedendoli al gestore se necessario.
06
Pianificare ritorno e scritture
Conservare file e DB corrispondenti. Tornare a PHP non annulla lo schema. Concordare blocco scritture o sincronizzazione provata, criteri di errore, operatore e termine. Considerare ordini dopo snapshot e provare ripristino e riconciliazione.
07
Verificare servizi dopo il passaggio
Controllare PHP Web, pool FPM, code, attività, container e repliche; sostituire processi vecchi. Confermare entrambi i CVE con versioni o bollettini. Provare link profondi, login, upload e operazioni. Conservare log e finestra di ritorno; CLI e homepage non bastano.
Verificare le patch PHP2Shell ↗Test del sito dopo la correzione PHP2Shell
Accesso, sessioni e ruoli
Provare accesso, uscita e recupero con account di test; controllare sessioni, amministrazione e ruoli.
Link profondi e HTTP
Aprire collegamento interno, inviare modulo e richiedere pagina assente; confrontare parametri, reindirizzamenti e stati HTTP.
Letture/scritture DB
Leggere/scrivere dati nella copia; verificare driver, SQL rigoroso, transazioni e valori restituiti.
Modelli propri ed escape
Visualizzare articoli, liste, account ed errori; controllare tag propri, escape, cache e avvisi.
Upload e miniature
Caricare immagine innocua, leggere miniatura e rimuoverla; controllare permessi, percorsi e URL senza abilitare eseguibili.
Job nuovi ed esistenti
Elaborare job nuovo e precedente con nuovo worker; verificare serializzazione, tentativi e duplicati.
Attività e percorsi PHP
Controllare binario PHP, INI e utente reali dello scheduler; provare attività innocua e confrontare dopo distribuzione.
Cache fredde/calde e OPcache
Ricostruire cache secondo documentazione; testare richieste fredde/calde e rimuovere serializzazioni e processi OPcache vecchi.
Mail di test
Inviare mail a raccolta di test; verificare modelli, code e trasporto senza clienti reali.
Ordini, imposte e scorte
Completare ordine sandbox con spedizione, imposte, sconto e rimborso; confrontare totali, scorte e storico.
Pagamenti sandbox e notifiche
Provare pagamento riuscito, fallito e notifica asincrona; verificare firma e idempotenza contro addebiti doppi.
Indici e filtri ricerca
Ricostruire indice di test; confrontare ricerche, filtri e permessi oltre alla risposta PHP.
Siti, domini e lingue
Controllare ogni sito, dominio e lingua con ruolo corretto; verificare cookie, URL e configurazione locale.
GBK/UTF-8 e restituzione
Far passare caratteri speciali tra modulo, DB ed esportazione; preservare GBK/UTF-8 prima di conversione provata a parte.
Contratti API e callback
Provare API autenticata e non; confrontare tipi JSON, errori, stati e callback.
Estensioni Web/CLI e ABI
Verificare estensioni Web e CLI con ABI/NTS/ZTS corretti; provare driver e servizi.
Verificare le patch PHP2Shell
Compatibilità, manutenzione e sicurezza PHP sono controlli separati. Scegli un ramo PHP supportato con entrambe le correzioni CVE e verifica processi Web, attività e repliche. Aggiornare un plugin non sostituisce PHP.
| Ramo PHP | Versioni originali inferiori a | Prima versione corretta | Fine supporto di sicurezza |
|---|---|---|---|
| PHP 8.5 | < 8.5.12 | ✓ 8.5.12 | 31 dic 2029 |
| PHP 8.4 | < 8.4.27 | ✓ 8.4.27 | 31 dic 2028 |
| PHP 8.3 | < 8.3.36 | ✓ 8.3.36 | 31 dic 2027 |
| PHP 8.2 | < 8.2.35 | ✓ 8.2.35 | 31 dic 2026 |
Non sono previsti rilasci PHP ordinari per questi rami. Esistono backport minimi dei sorgenti per 7.4, 8.0 e 8.1. Verifica separatamente il supporto del fornitore. Leggi la guida ↗