Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros temas > La Taberna
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-04-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
No hombre, no. Para que tú puedas poner una consulta como las de arriba, necesitas inyectarla. Y para eso es necesario que puedas poner apóstrofos sin restricciones. Una vez que puedes hacer esto entonces claro que puedes hacer uso del comodín para averiguar información. Pero el mal no está en el comodín en sí.

Es por eso que molesta ver este tipo de mensajes en donde se hace una afirmación que asusta y que no necesariamente es correcta.

Digámoslo de otra manera. Un código como este:

Código Delphi [-]
Query1.SQL.Add('select * from tabla where nombre like ' + Edit1.Text );

deja abierta la puerta a la inyección SQL. Pero si escapamos los apóstrofos:

Código Delphi [-]
Query1.SQL.Add('select * from tabla where nombre like ' + Escape(Edit1.Text ));

sigo sin ver dónde está el problema con que el usuario escriba un comodín. Los ejemplos que pones se basan en poder inyectar una sentencia con comodín pero gracias a que se deja abierta la puerta del apóstrofo.

Es decir, no es que no entienda cómo usar el comodín para extraer información, una vez rota la entrada (usando tus términos). El caso es que el mensaje original dice, textualmente:

Cita:
He visto muchos casos donde por ejemplo en un soft de gestión, para buscar un producto por nombre le piden al usuario que escriba un "%" como comodín si no se sabe el nombre completo
Dando a entender que el mero uso del comodín es nocivo, sin siquiera saber si el software en cuestión usa o no parámetros, y aún no usándolos, sin saber si escapa o no los apóstrofos.

// Saludos
Responder Con Cita
  #2  
Antiguo 16-04-2012
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
Cita:
Empezado por roman Ver Mensaje
Dando a entender que el mero uso del comodín es nocivo, sin siquiera saber si el software en cuestión usa o no parámetros, y aún no usándolos, sin saber si escapa o no los apóstrofos.
No creo que Mario halla querido ensañarse con el comodín. Más bien debe ser un hipotético escenario en donde los desarrollares dejan al usuario ingresar código SQL arbitrariamente, confiando en la buena voluntad de los usuarios. O aveces, también confiando en la ignorancia de ellos...
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #3  
Antiguo 16-04-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por Chris Ver Mensaje
No creo que Mario halla querido ensañarse con el comodín. Más bien debe ser un hipotético escenario en donde los desarrollares dejan al usuario ingresar código SQL arbitrariamente, confiando en la buena voluntad de los usuarios. O aveces, también confiando en la ignorancia de ellos...
Tienes razón. En realidad mi crítica no va tanto hacia el comentario de mamcx, sino al original de AzidRain. Vamos a ver: al leer el comentario original que abrió el hilo, de inmediato me vino a la mente un programa en el que hago precisamente eso: dejar que el usuario ponga un comodín para realizar búsquedas. Claro que yo lo hago usando parámetros. Pero al ver, así a secas, que se menciona el uso del comodín como uno de los ejemplos en donde tal vez por comodidad practicamente se puede hacer de todo, pues me alerto y por ello pregunto en qué reside el peligro del comodín. Y la única respuesta que he recibido se refiere a la no precaución de evitar los apóstrofos.

Lo que puedo concluir hasta el momento es que no tiene ningún peligro permitir que el usuario escriba un comodín en la consulta. A menos, claro, que no escape (bien directamente o bien por el uso de parámetros) el apóstrofo, pero eso es harina de otro costal.

// Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Aprendiendo a usar Trigger... verito_83mdq MySQL 11 23-02-2011 00:05:13
Aprendiendo juegos de delphi ferra99 Varios 6 29-10-2008 12:47:19
Aprendiendo calistian Varios 4 14-06-2008 21:47:48
Aprendiendo a Aprender Firebird...!!! RK2 Firebird e Interbase 5 12-05-2008 20:11:48
Aprendiendo delphi for php JULIPO PHP 6 21-09-2007 21:19:47


La franja horaria es GMT +2. Ahora son las 04:24:11.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi