elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Duda interaccion PHP-SQL
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Duda interaccion PHP-SQL  (Leído 6,747 veces)
ZharkD

Desconectado Desconectado

Mensajes: 112


Ver Perfil WWW
Duda interaccion PHP-SQL
« en: 29 Marzo 2010, 20:48 pm »

Buenas,

Pues me estoy iniciando de lleno a conexion entre php y sql, por lo que eh optado por crear algunos scripts basicos apra entrenar XD

Bueno, segun lei en un tutorial, es bueno aplicarle filtros a las variables que se almacenaran en la base de datos.
Mas especificamente algo asi:
Código
  1. // Filtramos y asignamos variable a los datos obtenidos (PHP 5)
  2. $user = filter_input(INPUT_POST, 'reg_user', FILTER_SANITIZE_SPECIAL_CHARS);
  3. $mail = filter_input(INPUT_POST, 'reg_mail', FILTER_SANITIZE_SPECIAL_CHARS);
  4. $pass = md5($_POST['reg_pass']); // En el caso de la contraseña, no filtramos, solo ciframos

Mi pregunta es, sera necesario filtrar un username, email y datos similares?
Lei este documento: http://www.php.net/manual/en/filter.filters.sanitize.php donde se especifican los filtros pero no termino de entender como funciona ese de "special chars".

En el script que tengo en mente, busco la mayor seguridad por lo que si es mas seguro filtrando habra que aplciarlo, solo me gustaria saber que es lo que hace este filtro especificamente.


PD: Si tienen algunos consejitos para crear scripts/dbs seguras se los agradezco, ya me pase a leer por los FAQs de php/sql del foro por lo que esos ya estan en mi lista :)

Gracias por su ayuda.


En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.724


<3


Ver Perfil WWW
Re: Duda interaccion PHP-SQL
« Respuesta #1 en: 29 Marzo 2010, 20:55 pm »

1. Mirate en el item de Prevenciòn
    http://foro.elhacker.net/nivel_web/temas_mas_destacados_fallas_y_explotaciones_a_nivel_web_actualizado_19310-t244090.0.html


En línea

Te vendería mi talento por poder dormir tranquilo.
ZharkD

Desconectado Desconectado

Mensajes: 112


Ver Perfil WWW
Re: Duda interaccion PHP-SQL
« Respuesta #2 en: 29 Marzo 2010, 21:57 pm »

Hola,

Gracias por tu respuesta, me pase a leer y me llamo la antencion un tema en partiular:
http://foro.elhacker.net/nivel_web/como_evitar_la_inyeccion_sql-t252384.0.html;msg1219985#msg1219985
No termino de entender eso de las comillas simples/doble comilla

Tambien me pase a leer aqui:
http://informatica-practica.net/solocodigo/index.php/2007/09/06/evitar-inyeccion-sql-ii/ (la proporcionan en el tema anterior) pero tambien me hace bolas eso del remplazo de \' no termino de captar que causa eso y porque es importante el evitarlo :S

Disculpen si suena algo tonto, lo que pasa que voy empezando y aunque lei manuales sql no me avia topado con situaciones asi.

Gracias por sus aportes :)
En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.724


<3


Ver Perfil WWW
Re: Duda interaccion PHP-SQL
« Respuesta #3 en: 29 Marzo 2010, 22:59 pm »

Si tu sistema tiene iSQL, cualquier usuario puede ver información de la base de datos, el incluso del sistema LoadFile(), hasta creo que depende de los permisos, se puede llegar a crear un archivo dentro del servidor. Así, que es de completa importacia prevenir eso.

Que es lo que no entiendes de las comillas dobles y simples?
En línea

Te vendería mi talento por poder dormir tranquilo.
ZharkD

Desconectado Desconectado

Mensajes: 112


Ver Perfil WWW
Re: Duda interaccion PHP-SQL
« Respuesta #4 en: 29 Marzo 2010, 23:58 pm »

Si tu sistema tiene iSQL, cualquier usuario puede ver información de la base de datos, el incluso del sistema LoadFile(), hasta creo que depende de los permisos, se puede llegar a crear un archivo dentro del servidor. Así, que es de completa importacia prevenir eso.

Que es lo que no entiendes de las comillas dobles y simples?
iSQL es el prooverdor de las bases de datos?
En ese caso mi webserver utiliza MySQL por lo que creo estoy "a salvo" XD

Lo de las comillas, mencionan en el articulo que en caso de que una ' (comilla simple) no sea cambiada por \' (diagonal comilla simple) esta podria hacer vulnerable a las inyecciones sql mediante url y scripts. Eso es lo que no me queda muy claro.
Recomiendan usar siempre comillas simples para las consultas que realize a mi base de datos, aqui mi pregunta es, en caso de usar comillas simples, me garantiza una mayor seguridad y proteccion contra inyecciones?

Gracias por tu interes en mi tema :)
En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.724


<3


Ver Perfil WWW
Re: Duda interaccion PHP-SQL
« Respuesta #5 en: 30 Marzo 2010, 00:17 am »

Con iSQL, me refiero a Inyección SQL. xD

Ejemplo: Tenemos una sentencia como está
Código
  1. SELECT * FROM tblPwned (WHERE = 'iSQL--')
Que pasa si ingreso una comilla simple dentro de la cadena a buscar, Veamos.
Código
  1. SELECT * FROM tblPwned (WHERE = ''iSQL--')
Cierra la comilla inicial, dando paso a la inyeccion de codigo SQL.
« Última modificación: 30 Marzo 2010, 00:22 am por Alex@ShellRoot » En línea

Te vendería mi talento por poder dormir tranquilo.
ZharkD

Desconectado Desconectado

Mensajes: 112


Ver Perfil WWW
Re: Duda interaccion PHP-SQL
« Respuesta #6 en: 30 Marzo 2010, 00:34 am »

Con iSQL, me refiero a Inyección SQL. xD

Ejemplo: Tenemos una sentencia como está
Código
  1. SELECT * FROM tblPwned (WHERE = 'iSQL--')
Que pasa si ingreso una comilla simple dentro de la cadena a buscar, Veamos.
Código
  1. SELECT * FROM tblPwned (WHERE = ''iSQL--')
Cierra la comilla inicial, dando paso a la inyeccion de codigo SQL.
:O
Ya veo, entonces para evitarlo habra que anteponr una \ a las comillas que se inserten tal como dicen en el articulo, ya veo ya veo, me esta quedando mas claro ahora :)

Esa es la unica forma de inyeccion SQL?
En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.724


<3


Ver Perfil WWW
Re: Duda interaccion PHP-SQL
« Respuesta #7 en: 30 Marzo 2010, 00:36 am »

Con que te refieres a otra forma de inyección SQL?
En línea

Te vendería mi talento por poder dormir tranquilo.
ZharkD

Desconectado Desconectado

Mensajes: 112


Ver Perfil WWW
Re: Duda interaccion PHP-SQL
« Respuesta #8 en: 30 Marzo 2010, 00:45 am »

Con que te refieres a otra forma de inyección SQL?
Alguna otra forma de modificar la db usando los campos de un form.
En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.724


<3


Ver Perfil WWW
Re: Duda interaccion PHP-SQL
« Respuesta #9 en: 30 Marzo 2010, 00:56 am »

Todos los querys que tengan interaccion con la base de datos, pueden ser inyectados, si no estan filtrados de la formas más correctá, es decir, desde un objeto del formulario, hasta en las peticiones GET y POST.
En línea

Te vendería mi talento por poder dormir tranquilo.
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda sobre interaccion windows + driver + modelo laptop
Windows
do-while 1 2,343 Último mensaje 6 Junio 2012, 21:16 pm
por Randomize
Duda: Interacción entre aplicaciones.
Programación General
Angeluto 0 1,408 Último mensaje 14 Junio 2013, 23:44 pm
por Angeluto
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines