Preocupado con ASP y SQL Server

22/07/2008 - 19:51 por Penta | Informe spam
Estimados.
Utilizo SS2000 SP4

http://localhost/carpeta/test2.asp?codigo345;update%20TABLA%20set%20campo1='nombre'%20where%20usuario='YO';%20--

La pagina web:
<!--#INCLUDE FILE="include/conexion.asp" -->
variable =Request.QueryString(codigo)
set ok=conn.execute ("exec [usuarioBD].[Sp_Nombre] 2008, 1, '" &
variable & "' ")

Como pueden apreciar tengo una pagina web llamada test2.asp que recibe
como parametro la variable codigo, bueno si a eso le agrego un update
y al ejecutar el procedimiento el update tambien se ejecuta.

El Update que se ejecuta es:
Update TABLA Set Campo1='nombre' Where usuario='YO'

Como evitar esto ??

Atte.
Penta

Preguntas similare

Leer las respuestas

#1 Penta
22/07/2008 - 19:51 | Informe spam
localhost/carpeta/test2.asp?codigo345;update%20TABLA%20set%...
Respuesta Responder a este mensaje
#2 Penta
22/07/2008 - 19:53 | Informe spam
Esta es la url ejecutada
localhost/carpeta/test2.asp?codcli345';update%20TABLA%20set
%20campo1='nombre'%20where%20usaurio='YO';%20
Respuesta Responder a este mensaje
#3 Alejandro Mesa
22/07/2008 - 20:10 | Informe spam
Usa procedimientos almacenados que recivan parametros y que no concatenen
estos para formar la sentencia a ejecutarse. Usa parametros con tipo de dato
adecuado y no le des mas longitud que la que necesita.


AMB

"Penta" wrote:

Estimados.
Utilizo SS2000 SP4

http://localhost/carpeta/test2.asp?codigo345;update%20TABLA%20set%20campo1='nombre'%20where%20usuario='YO';%20--

La pagina web:
<!--#INCLUDE FILE="include/conexion.asp" -->
variable =Request.QueryString(codigo)
set ok=conn.execute ("exec [usuarioBD].[Sp_Nombre] 2008, 1, '" &
variable & "' ")

Como pueden apreciar tengo una pagina web llamada test2.asp que recibe
como parametro la variable codigo, bueno si a eso le agrego un update
y al ejecutar el procedimiento el update tambien se ejecuta.

El Update que se ejecuta es:
Update TABLA Set Campo1='nombre' Where usuario='YO'

Como evitar esto ??

Atte.
Penta



Respuesta Responder a este mensaje
#4 Penta
22/07/2008 - 20:49 | Informe spam
Estimado Alejandro.
En este caso:
- Uso procedimientos
- No concateno

Por lo tanto lo unico que me queda es que la longitud sea la necesaria

No existe otra forma de avitar que introduzcan ? :
;update%20TABLA%20set
%20campo1='nombre'%20where%20usaurio='YO';%20

Claro que con la longitud ya la evitaria.

Atte.
Penta.
Respuesta Responder a este mensaje
#5 Alejandro Mesa
22/07/2008 - 20:51 | Informe spam
Olvide mencionar que uses el objeto command the ado o sqlCommand de ado.net y
crees la coleccion de parametros para llamar al procedimiento almacenado.


AMB

"Alejandro Mesa" wrote:

Usa procedimientos almacenados que recivan parametros y que no concatenen
estos para formar la sentencia a ejecutarse. Usa parametros con tipo de dato
adecuado y no le des mas longitud que la que necesita.


AMB

"Penta" wrote:

> Estimados.
> Utilizo SS2000 SP4
>
> http://localhost/carpeta/test2.asp?codigo345;update%20TABLA%20set%20campo1='nombre'%20where%20usuario='YO';%20--
>
> La pagina web:
> <!--#INCLUDE FILE="include/conexion.asp" -->
> variable =Request.QueryString(codigo)
> set ok=conn.execute ("exec [usuarioBD].[Sp_Nombre] 2008, 1, '" &
> variable & "' ")
>
> Como pueden apreciar tengo una pagina web llamada test2.asp que recibe
> como parametro la variable codigo, bueno si a eso le agrego un update
> y al ejecutar el procedimiento el update tambien se ejecuta.
>
> El Update que se ejecuta es:
> Update TABLA Set Campo1='nombre' Where usuario='YO'
>
> Como evitar esto ??
>
> Atte.
> Penta
>
>
>
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida