SEGURIDAD
(o cmo evitar que los malos nos jodan vivos)
PHP
S, lo digo en serio
Muy en serio!
Carlos Campderrs | http://campderros.com
PHP
2 reglas bsicas:
PHP
productos.php?id=4
El usuario puede modificar fcilmente el id de
producto a visualizar, y poner, en vez de un
nmero, cualquier otra cosa
Asegurarse que $_GET['id'] es un nmero!!!
PHP
PHP
PHP
PHP
PHP
PHP
PHP
$mysqli->real_escape_string($variable)
$pdo->quote($variable)
Si no hay mtodo disponible, addslashes($var)
PHP
PHP
PHP
PHP
Un usuario se ha logueado en
www.mipagina.com
En otra ventana del navegador, visita
http://malos.com/, donde hay este cdigo:
<img src="http://mipagina.com/logout.php" />
Esto provoca que el navegador del usuario lance
una peticin a mipagina.com/logout.php, que
parece legtima, y desloguea al usuario
Carlos Campderrs | http://campderros.com
PHP
PHP
PHP
PHP
PHP
Si el usuario accede a:
listar.php?carpeta=imagenes; rm -Rf /
La instruccin a ejecutar quedara como:
ls imagenes; rm -Rf /
2 comandos! listar el contenido de la carpeta
imgenes... y luego borrar todos los archivos del
disco duro!
Evitarlo usando escapeshellcmd() y
escapeshellarg()
Carlos Campderrs | http://campderros.com
PHP
PHP
PHP
PHP
TODO:
Robo sesiones
Usuario root bd