Falla de seguridad ASP/SQL

14/10/2003 - 11:54 por Luis Barrueto | Informe spam
Hola,
Alguien sabe quizas sabe como resolver este problemita?. Resulta que he
programado una aplicacion en ASP-internet para acceder a una base datos en
Access. Uso algunas "Select" como esta:

xxx="select * from profesor where loginnamn='" & loginn & "' and lösenord='"
& losen & "'"

Para mi sorpresa, alguien me dijo que un alumno habia podido entrar a la
base de datos usando la expresion:

%' or '%' like '%

Tanto en Login: %' or '%' like '% como en Password: %' or '%' like '%
Saludos,
Luis

Preguntas similare

Leer las respuestas

#6 Tako
14/10/2003 - 16:34 | Informe spam
"Miguel Egea" wrote in message
news:
con permiso
añadir un código de escape (yo tambíen es la primera vez que lo oigo).


basta
con que ejecutes replace(variable,"'","''")
es decir susituir una comilla simple por dos comillas simples.




Bueno, vale que lo de "escapar" no es del todo correcto :) pero por algo
lo he entrecomillado. Si no me acuerdo mal lo de "escape" viene de las
funciones que convertían una cadena en algo imprimible, a base de poner los
susodichos caracteres de escape, supongo que el concepto se amplio a
convertir cualquier cadena en algo aprovechable, por ejemplo quitando las
comillas simples - que tienen un significado especial - por comillas
dobles -que en TSQL significan una sola comilla -.

Normalmente la función que hace eso se suele llamar "escape" por eso lo
de "escapar" podría haber utilizado "escapear" pero me sonaba aun peor
:)



Saludos
Miguel Egea
"Luis Barrueto" escribió en el mensaje
news:#
> Hola,
> Disculpa, pero a que te refieres con "escapar", ando un poco despistado
con
> la "jerga informatica", yo vivo en Suecia.
> Gracias,
> Luis
> "Tako" wrote in message
> news:
> >
> > "Luis Barrueto" wrote in message
> > news:
> > > Hola,
> > > Alguien sabe quizas sabe como resolver este problemita?. Resulta que
he
> > > programado una aplicacion en ASP-internet para acceder a una base
datos
> en
> > > Access. Uso algunas "Select" como esta:
> > >
> > > xxx="select * from profesor where loginnamn='" & loginn & "' and
> > lösenord='"
> > > & losen & "'"
> > >
> > > Para mi sorpresa, alguien me dijo que un alumno habia podido entrar


a
la
> > > base de datos usando la expresion:
> > >
> > > %' or '%' like '%
> > >
> >
> > Fácil, tienes que "escapar" todas las comillas simples, de forma


que
> > cada una se convierta en dos:
> >
> >
>
>


Respuesta Responder a este mensaje
#7 manuel
14/10/2003 - 21:19 | Informe spam
Mejor "escapa" de utilizar sql dinámico, utiliza siempre
parámetros en un command
En Access puedes incluso crearte los procedures
respectivos para reemplazar todas tus querys...
Suerte
Manuel


Hola,
Disculpa, pero a que te refieres con "escapar", ando un


poco despistado con
la "jerga informatica", yo vivo en Suecia.
Gracias,
Luis
"Tako" wrote in message
news:

"Luis Barrueto" wrote in




message
news:
> Hola,
> Alguien sabe quizas sabe como resolver este




problemita?. Resulta que he
> programado una aplicacion en ASP-internet para




acceder a una base datos
en
> Access. Uso algunas "Select" como esta:
>
> xxx="select * from profesor where loginnamn='" &




loginn & "' and
lösenord='"
> & losen & "'"
>
> Para mi sorpresa, alguien me dijo que un alumno habia




podido entrar a la
> base de datos usando la expresion:
>
> %' or '%' like '%
>

Fácil, tienes que "escapar" todas las comillas




simples, de forma que
cada una se convierta en dos:






.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida