Ver Mensaje Individual
  #6 (permalink)  
Antiguo 16/08/2008, 12:58
Avatar de julianmejio
julianmejio
 
Fecha de Ingreso: agosto-2005
Ubicación: Medellín, Antioquia
Mensajes: 88
Antigüedad: 18 años, 8 meses
Puntos: 3
Respuesta: validacion de formulario

Lo que te dicen en este código, es cómo un usuario final puede atacar tu aplicación web si no tienes el suficiente control en el manejo y validación de tus datos. Te lo explico:


Código PHP:
  <?php
// eliminar un archivo del directorio personal del usuario .. ¿o
// quizás de alguien más?


// unlink elimina archivos de tu equipo, y virtualmente, si no tienes el control suficiente, te pueden eliminar archivos críticos, por ejemplo, colocando en la ruta "/etc/archivo/a/eiliminar" (o C:\\Archivo\\a\\eliminar en windows).
unlink ($variable_malvada);

// Imprimir el registro del acceso... ¿o quizás una entrada de /etc/passwd?

// Modificar archivos críticos del sistema, como los .htaccess o los passwords de los directorios protegidos, etc.
fwrite ($desc_archivo$variable_malvada);

// Ejecutar algo trivial.. ¿o rm -rf *?


// y estas dos funciones ejecutan aplicaciones instaldas en el servidor, y por eso, con solo una variable ($variable_malvada) mal manejada, te pueden tumbar todo el sitio, hasta incluso el servidor: 

// exec(/sbin/shutdown); !!!!!!! apagas el servidor (en linux)
system ($variable_malvada);
exec ($variable_malvada);

?>
Y obvio que los permisos que tengas para ejecutar, eliminar, o escribir archivos y aplicaciones del servidor se heredan del usuario que esté ejecutando PHP, y por lo general, este usuario es el mismo root, así que hay que tener cuidado con lo que el usuario pueda enviar a nuestra aplicación web, así sea una inofensiva cadena de texto... ya viste que son esa cadenita (y dependiendo de cómo la uses en la aplicación) puede hacer todo tipo de cosas.