Foros del Web » Programando para Internet » ASP Clásico »

Script maligno a trvés de formulario

Estas en el tema de Script maligno a trvés de formulario en el foro de ASP Clásico en Foros del Web. Hola: He leído en muchas partes que te pueden subir scripts malignos a tu BBDD a través de los formularios de registro en la página ...
  #1 (permalink)  
Antiguo 13/08/2009, 01:26
Avatar de kvoloj  
Fecha de Ingreso: agosto-2003
Mensajes: 124
Antigüedad: 20 años, 8 meses
Puntos: 1
Script maligno a trvés de formulario

Hola:

He leído en muchas partes que te pueden subir scripts malignos a tu BBDD a través de los formularios de registro en la página web.

Como puedo mejorar las medidas de seguridad de mis formularios para que esto no ocurra?

Bueno en general cuales puntos debo considerar para tener una web mas segura contra ataques hackers?

Un saludo,

Koldo
  #2 (permalink)  
Antiguo 13/08/2009, 02:09
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: Script maligno a trvés de formulario

el Sr. Google te ayudará en la búsqueda. Creo que te refieres a la inyección SQL a través de formularios. Lo que tendrías que hacer es en el código impedir que se ingresen consultas SQL o ejecuten sentencias no autorizadas.
  #3 (permalink)  
Antiguo 13/08/2009, 03:34
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Script maligno a trvés de formulario

Hola

Una función para eliminar todo aquello con lo que se puede atacar a tu bd

Código asp:
Ver original
  1. Dim str
  2.  
  3. Public Function Limpiar(strlimpiar,modolimpiar)
  4.  
  5.     'modolimpiar = 0 Prepara strlimpiar para un login y evita sql injection
  6.  
  7.     str = trim(strlimpiar)
  8.    
  9.     Select Case modolimpiar
  10.  
  11.     Case 0:
  12.         str = lcase(str)
  13.         str = replace(str,"  "," ")
  14.         str = replace(str,"=","")
  15.         str = replace(str,"'","")
  16.         str = replace(str,"""""","")
  17.         str = replace(str," or ","")
  18.         str = replace(str," and ","")
  19.         str = replace(str,"(","")
  20.         str = replace(str,")","")
  21.         str = replace(str,"<","[")
  22.         str = replace(str,">","]")
  23. str = replace(str, "%", "")
  24. str = replace(str, "*", "")
  25.         str = replace(str,"--","")
  26.         str = replace(str,"having ","")
  27.         str = replace(str,"group by","")
  28.         str = replace(str,"union select sum","")
  29.         str = replace(str,"union select min","")
  30.         str = replace(str,"select ","")
  31.         str = replace(str,"insert ","")
  32.         str = replace(str,"update ","")
  33.         str = replace(str,"delete ","")
  34.         str = replace(str,"drop ","")
  35.         str = replace(str,"-shutdown","")
  36.         str = replace(str, "iframe", "")
  37.     Case Else
  38.         str = strlimpiar
  39.     End Select
  40.  
  41.     Limpiar = str
  42.  
  43. End Function

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #4 (permalink)  
Antiguo 13/08/2009, 08:49
Avatar de mc_quake  
Fecha de Ingreso: enero-2006
Ubicación: www.ecocargo.cl
Mensajes: 683
Antigüedad: 18 años, 3 meses
Puntos: 8
Respuesta: Script maligno a trvés de formulario

yo ocupo algo similar

Código asp:
Ver original
  1. Function killChars(strWords)
  2.     dim badChars
  3.     dim newChars
  4.    
  5.     badChars = array("xp_", "<", ">","--", ";--", ";", "/*", "*/", "@@","@", "char", "nchar", "varchar", "nvarchar", "alter", "begin", "cast", "create", "cursor", "declare", "delete", "drop", "end", "exec", "execute", "fetch", "insert","kill", "open", "select", "sys", "sysobjects", "syscolumns", "table", "update","truncate","dim","java", "script","'","´","href","content-transfer-encoding","quoted-printable","content-type","subject:","bcc:","x-mailer")
  6.     newChars = strWords
  7.    
  8.     for i = 0 to uBound(badChars)
  9.     newChars = replace(newChars, badChars(i), "")
  10.     next
  11.    
  12.     killChars = newChars
  13. End Function
__________________
Mc_Quake

Para ayudar en lo que se pueda:Zzz:
  #5 (permalink)  
Antiguo 14/08/2009, 08:27
Avatar de kvoloj  
Fecha de Ingreso: agosto-2003
Mensajes: 124
Antigüedad: 20 años, 8 meses
Puntos: 1
Respuesta: Script maligno a trvés de formulario

otra pregunta!

Estos códigos son server-side validation o client-side validation?
si son son clinet-side como puedo hacerlos server-side??

(sobra decir que es as y sql)


Muchas Gracias

Koldo
  #6 (permalink)  
Antiguo 14/08/2009, 12:33
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Script maligno a trvés de formulario

Hola

Este es el foro de ASP, así que ....... del lado del servidor

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #7 (permalink)  
Antiguo 14/08/2009, 13:35
Avatar de kvoloj  
Fecha de Ingreso: agosto-2003
Mensajes: 124
Antigüedad: 20 años, 8 meses
Puntos: 1
Respuesta: Script maligno a trvés de formulario

Hola Adler:

si, ya me enteré.... no lo sabía!!! pero entre que pregunté y contestaste ya me había enterado.

he probado el código que me dejaste pero no he podido lograr que me funcione en el formulario, no se como ponerlo en el formulario para que éste no solo valide los campos, sino que además evite la inserción de todos los caracteres.

como debo integrar a cada campo del formulario este código?

Gracias

Koldo
  #8 (permalink)  
Antiguo 16/08/2009, 09:48
 
Fecha de Ingreso: febrero-2005
Mensajes: 1.015
Antigüedad: 19 años, 2 meses
Puntos: 6
Respuesta: Script maligno a trvés de formulario

Útil tópic.

Koldo repite la pregunta porque no ha quedado clara. Ese código es para aplicarlo a los valores de los campos del formulario, que el servidor reciba tras un "submit".
  #9 (permalink)  
Antiguo 16/08/2009, 12:45
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Script maligno a trvés de formulario

Hola

Cuando validas los campos, al mismo tiempo estás evitando la inserción sql

El uso es

Limpiar(Request("campo"),0)


Cita:
Iniciado por un_tio Ver Mensaje
Útil tópic.

Koldo repite la pregunta porque no ha quedado clara. Ese código es para aplicarlo a los valores de los campos del formulario, que el servidor reciba tras un "submit".
Cuando recibes los valores del form, le pasa esa función para evitar que un usuario mal intencionado pueda eliminar todos los registros de una tabla, ... por ejemplo

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />

Última edición por Adler; 16/08/2009 a las 12:51
  #10 (permalink)  
Antiguo 20/08/2009, 16:56
 
Fecha de Ingreso: febrero-2005
Mensajes: 33
Antigüedad: 19 años, 2 meses
Puntos: 0
Respuesta: Script maligno a trvés de formulario

que tal? hago una consulta con respecto a este tema, vale la pena pasar el string por server.htmlencode?
Gracias!
Saludos!
  #11 (permalink)  
Antiguo 21/08/2009, 06:49
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Script maligno a trvés de formulario

Hola

Cita:
Iniciado por hug0 Ver Mensaje
que tal? hago una consulta con respecto a este tema, vale la pena pasar el string por server.htmlencode?
Gracias!
Saludos!
..... nunca está demás
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:39.