Ver Mensaje Individual
  #13 (permalink)  
Antiguo 08/10/2013, 22:31
AlanChavez
 
Fecha de Ingreso: junio-2010
Ubicación: Charlotte, NC
Mensajes: 611
Antigüedad: 13 años, 10 meses
Puntos: 95
Respuesta: Actualizar muchisimos campos en MySQL usando php

Con respecto a eval(),

como dice el manual: eval te permite ejecutar codigo PHP arbitrario y por lo visto tu MySQL ya es vulnerable a inyecciones SQL y esta mas que claro que no estas validando los datos enviados por el usuario.

Que pasaría si un usuario, en lugar de enviarte

Código PHP:
Ver original
  1. $_POST['nombre'] = "Alan";

Te envía

Código PHP:
Ver original
  1. $_POST['nombre'] = "shell_exec('rm -rf ~')";

y luego utilizas
Código PHP:
Ver original
  1. eval($_POST['nombre']);

Lo que PHP realmente entiende es:

Código PHP:
Ver original
  1. shell_exec('rm -rf ~');

O en otras palabras, PHP le esta diciendo al sistema que borre todos los archivos de la carpeta "home" del usuario que ejecuta php (generalmente el usuario apache en linux).

Por eso es que eval() es un comando peligroso y no se debe usar a menos de que estes 100% seguro de que nadie te va a borrar archivos.