seguridad en Store Procedure de SqlServer 2000

19/04/2005 - 20:00 por Developers | Informe spam
escuche por ahi que es mejor escribir Store Procedure en SqlServer porque
Obtengo Mejor Rendimiento, Seguridad, y Escabilidad; pero la duda que tengo
es al tema de seguridad que tan seguro son los SP ante una amenaza teniendo
como ejemplo este SP:

create procedure dbo.prueba
@area char(2)
as
select codigo, documento,fecha from mitabla where area=@area and
Left(documento,2)<>'TT' and left(documento,2)<>'FF'


si se daran cuenta mi Store Procedure recibe un Parametro que es @area pero
dentro de la sentencia del Where Yo tambien
tengo esto Left(documento,2)<>'TT' and left(documento,2)<>'FF' existen
comillas simples dentro de esta sentencia. Poniendo estas comillas simples
no estoy dando opcion a una Personas Extrañas a que puedan ejecutar
cualquier comando que se les plasca.

Existe alguna manera de proteger estos Store prodecure???


Gracias x sus prontos comentarios que tuvieran me servirina bastante


Developers

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
19/04/2005 - 20:37 | Informe spam
La sentencia que escribistes no tiene ningun problema pues el left(...) lo
haces sobre el valor de la columna y no utilizando el parametro de entrada.
Ademas, no hay mucho codigo que insertar en un parametro tipo char(2).

La injeccion de codigo se puede hacer cuando se genera una sentencia de
forma dinamica haciendo uso del valor de los parametros. Este no es el caso.


AMB

"Developers" wrote:

escuche por ahi que es mejor escribir Store Procedure en SqlServer porque
Obtengo Mejor Rendimiento, Seguridad, y Escabilidad; pero la duda que tengo
es al tema de seguridad que tan seguro son los SP ante una amenaza teniendo
como ejemplo este SP:

create procedure dbo.prueba
@area char(2)
as
select codigo, documento,fecha from mitabla where area=@area and
Left(documento,2)<>'TT' and left(documento,2)<>'FF'


si se daran cuenta mi Store Procedure recibe un Parametro que es @area pero
dentro de la sentencia del Where Yo tambien
tengo esto Left(documento,2)<>'TT' and left(documento,2)<>'FF' existen
comillas simples dentro de esta sentencia. Poniendo estas comillas simples
no estoy dando opcion a una Personas Extrañas a que puedan ejecutar
cualquier comando que se les plasca.

Existe alguna manera de proteger estos Store prodecure???


Gracias x sus prontos comentarios que tuvieran me servirina bastante


Developers









Respuesta Responder a este mensaje
#2 Developers
19/04/2005 - 21:07 | Informe spam
Pero que me dices de la otra parte de la sentencia del where
Left(documento,2)<>'TT' and left(documento,2)<>'FF'
ahi tengo comillas simples en el Store Procedure acaso alli no puedes anular
y poner otro codigo.


Gracias


"Alejandro Mesa" wrote in message
news:
La sentencia que escribistes no tiene ningun problema pues el left(...) lo
haces sobre el valor de la columna y no utilizando el parametro de


entrada.
Ademas, no hay mucho codigo que insertar en un parametro tipo char(2).

La injeccion de codigo se puede hacer cuando se genera una sentencia de
forma dinamica haciendo uso del valor de los parametros. Este no es el


caso.


AMB

"Developers" wrote:

> escuche por ahi que es mejor escribir Store Procedure en SqlServer


porque
> Obtengo Mejor Rendimiento, Seguridad, y Escabilidad; pero la duda que


tengo
> es al tema de seguridad que tan seguro son los SP ante una amenaza


teniendo
> como ejemplo este SP:
>
> create procedure dbo.prueba
> @area char(2)
> as
> select codigo, documento,fecha from mitabla where area=@area and
> Left(documento,2)<>'TT' and left(documento,2)<>'FF'
>
>
> si se daran cuenta mi Store Procedure recibe un Parametro que es @area


pero
> dentro de la sentencia del Where Yo tambien
> tengo esto Left(documento,2)<>'TT' and left(documento,2)<>'FF' existen
> comillas simples dentro de esta sentencia. Poniendo estas comillas


simples
> no estoy dando opcion a una Personas Extrañas a que puedan ejecutar
> cualquier comando que se les plasca.
>
> Existe alguna manera de proteger estos Store prodecure???
>
>
> Gracias x sus prontos comentarios que tuvieran me servirina bastante
>
>
> Developers
>
>
>
>
>
>
>
>
>
Respuesta Responder a este mensaje
#3 Alejandro Mesa
19/04/2005 - 21:35 | Informe spam
La injeccion de codigo se hace atraves de los parametros y tu no usas los
parametros en esas comparaciones. Si te refieres a que si alguien puede
editar el procedimiento, entonces no importan los apostrofes, podria cambiar
la sentencia completa.

Te paso un link sobre injeccion de codigo para que leas un poco mas al
respecto y te ayude a aclarar el tema.

Inyección de código SQL
http://www.configuracionesintegrale...p?articulo4


AMB

"Developers" wrote:

Pero que me dices de la otra parte de la sentencia del where
Left(documento,2)<>'TT' and left(documento,2)<>'FF'
ahi tengo comillas simples en el Store Procedure acaso alli no puedes anular
y poner otro codigo.


Gracias


"Alejandro Mesa" wrote in message
news:
> La sentencia que escribistes no tiene ningun problema pues el left(...) lo
> haces sobre el valor de la columna y no utilizando el parametro de
entrada.
> Ademas, no hay mucho codigo que insertar en un parametro tipo char(2).
>
> La injeccion de codigo se puede hacer cuando se genera una sentencia de
> forma dinamica haciendo uso del valor de los parametros. Este no es el
caso.
>
>
> AMB
>
> "Developers" wrote:
>
> > escuche por ahi que es mejor escribir Store Procedure en SqlServer
porque
> > Obtengo Mejor Rendimiento, Seguridad, y Escabilidad; pero la duda que
tengo
> > es al tema de seguridad que tan seguro son los SP ante una amenaza
teniendo
> > como ejemplo este SP:
> >
> > create procedure dbo.prueba
> > @area char(2)
> > as
> > select codigo, documento,fecha from mitabla where area=@area and
> > Left(documento,2)<>'TT' and left(documento,2)<>'FF'
> >
> >
> > si se daran cuenta mi Store Procedure recibe un Parametro que es @area
pero
> > dentro de la sentencia del Where Yo tambien
> > tengo esto Left(documento,2)<>'TT' and left(documento,2)<>'FF' existen
> > comillas simples dentro de esta sentencia. Poniendo estas comillas
simples
> > no estoy dando opcion a una Personas Extrañas a que puedan ejecutar
> > cualquier comando que se les plasca.
> >
> > Existe alguna manera de proteger estos Store prodecure???
> >
> >
> > Gracias x sus prontos comentarios que tuvieran me servirina bastante
> >
> >
> > Developers
> >
> >
> >
> >
> >
> >
> >
> >
> >



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