Foros del Web » Programando para Internet » PHP »

Seguridad PHP

Estas en el tema de Seguridad PHP en el foro de PHP en Foros del Web. Buenas, esta vez solo vengo a mostrarles el articulo de seguridad (mas que nada habla sobre Sql Injection) de php.net/es con ejemplos y todo. Pero ...
  #1 (permalink)  
Antiguo 24/11/2009, 16:57
 
Fecha de Ingreso: julio-2009
Ubicación: Argentina!
Mensajes: 324
Antigüedad: 14 años, 8 meses
Puntos: 4
Seguridad PHP

Buenas, esta vez solo vengo a mostrarles el articulo de seguridad (mas que nada habla sobre Sql Injection) de php.net/es con ejemplos y todo. Pero no se, me parece que no muestran como solucionarlos :(

Ejemplo

Código:
Example #3 De restablecer una contraseña ... a adquirir más privilegios (con cualquier servidor de base de datos)
<?php
$consulta = "UPDATE usertable SET pwd='$pwd' WHERE uid='$uid';";
?>
Pero un usuario malicioso envía el valor ' or uid like'%admin%'; -- como $uid para cambiar la contraseña del administrador, o simplemente establece $pwd a "hehehe', admin='yes', trusted=100 " (con un espacio al inicio) para adquirir más privilegios. En tal caso, la consulta sería manipulada:
<?php

// $uid == ' or uid like'%admin%'; --
$consulta = "UPDATE usertable SET pwd='...' WHERE uid='' or uid like '%admin%'; --";

// $pwd == "hehehe', admin='yes', trusted=100 "
$consulta = "UPDATE usertable SET pwd='hehehe', admin='yes', trusted=100 WHERE ...;"

?>

Un horrible ejemplo de cómo puede accederse a comandos del nivel del sistema operativo en algunas máquinas anfitrionas de bases de datos.
Espero que les sirva, y ademas pueden ver todo el manual de PHP ahi mismo

Casi me olvido de dejar la url: http://docs.php.net/manual/es/securi...-injection.php

Un abrazo
  #2 (permalink)  
Antiguo 25/11/2009, 08:54
 
Fecha de Ingreso: mayo-2007
Mensajes: 60
Antigüedad: 16 años, 11 meses
Puntos: 3
Respuesta: Seguridad PHP

La solucion es obligar al usuario a que no envie caracteres extraños, por ejemplo '%='.
Para uqe un usuario iba a poner esos caracteres en un login?

Saludos,
Aaron
  #3 (permalink)  
Antiguo 26/11/2009, 08:32
 
Fecha de Ingreso: julio-2009
Ubicación: Argentina!
Mensajes: 324
Antigüedad: 14 años, 8 meses
Puntos: 4
Respuesta: Seguridad PHP

si, la solucion es hacer q no pueda enviar esos caracteres.

yo utilizo unas funciones en javascript para que no incluyan ciertos caracteres, despues con onpaste="return false" hago ademas, no pueda pegar el codigo (La funcion en java es cuando ingresa caracter por caracter), y despues, hago en php otra validacion, pero no todo es seguro (Menos si viene de mi!) y por ahi, pueden pasar ciertos caracteres indeseables.

a lo que me referia es que, te muestran la forma en la cual te pueden hacer una SQL Injection, pero no te muestra como defenderte de una. Siendo que ellos saben mas que nadie (Creo) como hacer eso. Igual en internet esta todo todo!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:58.