Register globals

14
REGISTER REGISTER GLOBAL=on? GLOBAL=on?

description

Trabajo de Diseño web Mutimedia

Transcript of Register globals

Page 1: Register globals

REGISTER

REGISTER

GLOBAL=on?

GLOBAL=on?

Page 2: Register globals

Los register_globals son un agujero de seguridad increíble.

Page 3: Register globals

Egister Global =on esta Egister Global =on esta compuesto por dos compuesto por dos

condiciones condiciones on u off.on u off.

Page 4: Register globals

Register Global=on se lo coloca Register Global=on se lo coloca en el código de PHP porque en el código de PHP porque supuestamente es un código supuestamente es un código que esta compuesto por que esta compuesto por variables.variables.

Page 5: Register globals

PHP4 trabajaba por defecto el PHP4 trabajaba por defecto el parámetro parámetro register_globals="on" lo que register_globals="on" lo que significa que cuando usabas una significa que cuando usabas una variable por GET o POST solo la variable por GET o POST solo la invocabas (ej.: para mostrar la invocabas (ej.: para mostrar la variable $usuario de un variable $usuario de un formulario solo ponías echo formulario solo ponías echo $usuario;).$usuario;).

Page 6: Register globals

En el script basta con usar En el script basta con usar $_REQUEST para usar $_REQUEST para usar indistintamente variables indistintamente variables $_POST y $_GET y no duplicar el $_POST y $_GET y no duplicar el algoritmo.algoritmo.

Page 7: Register globals

VENTAJAS

VENTAJAS

Page 8: Register globals

Con globals en on era fácil hacer Con globals en on era fácil hacer pasar una variable post por get pasar una variable post por get o peor aun, una variable interna o peor aun, una variable interna del sistema usando get.del sistema usando get.

Page 9: Register globals

Cuando se activa, la directiva register_globals inyectará sus scripts con todo tipo de variables, como variables de peticiones provenientes de formularios HTML. Esto junto con el hecho de que PHP no requiere la inicialización de variables significa escribir código inseguro que es mucho más fácil.

Page 10: Register globals

COSECUENCIAS

COSECUENCIAS

Page 11: Register globals

Fue una decisión difícil, pero la comunidad de PHP decidió desactivar esta directiva por defecto. Cuando habilitada, las personas usan variables sin saber con seguridad de dónde provienen y solo queda asumir. Las variables internas que son definidas en el script mismo son mezcladas con los datos enviados por los usuarios y deshabilitar register_globals se modifica este.

Page 12: Register globals

Ejemplo # 1 Ejemplo del uso inapropiado de register_globals = on

<? Php / / Definir $ autorizado = true sólo si el usuario está autenticado If (authenticated_user ()) ( $ Autorizado = true; ) / / Ya que no inicializamos $ autorizado como false, esta podría ser/ / Definida a traves de register_globals, como en el caso de GETauth.php? Autorizado = 1/ / Por lo tanto, cualquier persona puede verse como autenticada!If ($ autorizado) (Incluir "/ altamente sensible y data.php";) ?> ?>

Page 13: Register globals

A pesar de los beneficios de este cambio, muchos scripts antiguos no toman en cuenta este asunto y pueden dejar de funcionar, para esos casos, ( y para que no te pase siquiera por la cabeza poner de nuevo register_globals en "on" !!)

Page 14: Register globals

TRABAJO DE DISEÑO WEB TRABAJO DE DISEÑO WEB MUTIMEDIAMUTIMEDIA

POR: EDGAR PAUTAPOR: EDGAR PAUTA