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

Vulnerabilidad Web

Estas en el tema de Vulnerabilidad Web en el foro de ASP Clásico en Foros del Web. Hola a tod@s. Os comento el problema que me he encontrado en mi Web. Tengo unos blogs donde la gente deja opiniones a través de ...
  #1 (permalink)  
Antiguo 05/11/2009, 04:05
 
Fecha de Ingreso: enero-2007
Mensajes: 284
Antigüedad: 18 años, 4 meses
Puntos: 1
Vulnerabilidad Web

Hola a tod@s.

Os comento el problema que me he encontrado en mi Web.
Tengo unos blogs donde la gente deja opiniones a través de formularios.
He comprobado que me ha entrado codigo malicioso a mi pagina visible en estos blogs.
He hablado con la empresa que me presta servicios de hosting y me han comentado que el problema es la vulnerabilidad de mi codigo en el tema de formularios, que a través de ahi me ha entrado el codigo malicioso.

Queria saber vuestras opiniones y posibles soluciones. Si hay alguna manera de dar seguridad en las conexiones a mi BD en estos formularios o alguna otra solución...

Gracias y un saludo.
  #2 (permalink)  
Antiguo 05/11/2009, 05:42
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 4 meses
Puntos: 126
Respuesta: Vulnerabilidad Web

Hola

¿Hablas de injerción sql?. Con esta función puedes filtrar todo aquello que te llega via post o get

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

Uso

contenido = Limpiar(cadanealimpiar,0)

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;" />
  #3 (permalink)  
Antiguo 06/11/2009, 03:32
 
Fecha de Ingreso: enero-2007
Mensajes: 284
Antigüedad: 18 años, 4 meses
Puntos: 1
Respuesta: Vulnerabilidad Web

Gracias por tu respuesta.

O sea que con el codigo que me comentas evito el codigo malicioso a través de formularios en mi web no?

Queria comentar varias cosillas. No estoy puesto en este tema asi que ahi van mis preguntas.

- Con ese codigo malicioso que me entra pueden infectarme la Web por medio de algun virus?
- Con ese codigo malicioso o ese virus pueden conseguir mi usuario y contraseña de mi FTP y eliminar archivos, modificarlos,...de mi servidor?
- Con el codigo que me comentas evito las dos preguntas anteriores?

Querria informarme de como se puede infectar una Web (tener cierta seguridad) y posibles soluciones.
Mi Web se basa basicamente en información (tanto texto, fotos como archivos) en BD.

Gracias y un saludo.
  #4 (permalink)  
Antiguo 06/11/2009, 06:34
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 4 meses
Puntos: 126
Respuesta: Vulnerabilidad Web

Hola

Mira, ese código evita la inyerción de sql malicioso, que puede eliminar una bd o modificar los registros, etc...

Tipos de ataques que se pueden recibir: el mencionado inyerción sql, inyerción javascript .... Algo que has de tener claro es que nunca podrás protegerte al cien por cien. Yo lo que hago es usar esa función, validar y escapar las variables antes de usarlas, encriptar las contraseñas....

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;" />
  #5 (permalink)  
Antiguo 06/11/2009, 12:27
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
Respuesta: Vulnerabilidad Web

Cita:
Iniciado por baditxuk Ver Mensaje
Gracias por tu respuesta.
- Con ese codigo malicioso que me entra pueden infectarme la Web por medio de algun virus?
Si, es muy posible.

Cita:
Iniciado por baditxuk Ver Mensaje
- Con ese codigo malicioso o ese virus pueden conseguir mi usuario y contraseña de mi FTP y eliminar archivos, modificarlos,...de mi servidor?
No necesariamente pues esos datos residen en otra capa, pero puedes dar por hecho que tu base de datos está expuesta, con ello todo lo que almacenes allí.

Cita:
Iniciado por baditxuk Ver Mensaje
- Con el codigo que me comentas evito las dos preguntas anteriores?
No necesariamente, evitas solo una parte -la del ataque SQL- asumiendo que envíen el ataque como tal (poco probable) y no en hexadecimal (mas factible).

Cita:
Iniciado por baditxuk Ver Mensaje
Querria informarme de como se puede infectar una Web (tener cierta seguridad) y posibles soluciones.
Mi Web se basa basicamente en información (tanto texto, fotos como archivos) en BD.
Hay varias maneras, pero lo que quieres investigar va de manera no limitativa por aquí que coincide con lo que Adler ya mencionó:

1 . Utilizar rutinas para "escapar" caracteres especiales.
2 . Utiliza consultas parametrizadas para consultas SQL dinámicas.
3 . Utiliza técnicas para hacer HTML encode y decode al mostrar tus datos.
4 . Utiliza usuarios específicos en tu base de datos, no tiene caso utilizar un usuario administrador si solo vas a mostrar contenido por ejemplo.


Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
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 08:17.