Ver Mensaje Individual
  #34 (permalink)  
Antiguo 03/07/2008, 10:16
Avatar de @padawan@
@padawan@
 
Fecha de Ingreso: julio-2005
Mensajes: 393
Antigüedad: 19 años, 7 meses
Puntos: 6
Respuesta: Ayuda por favor...

Cita:
Iniciado por mastercafe Ver Mensaje
Veo que seguis dandole vuelta a un problema que tiene una solucion realmente simple. Desde que me ocurrio a mi hasta parar el problema apenas fueron 72h. y es que es evidente por donde entra, de hecho vosotros estais indicando la solucion en vuestros post.

Ante todo la inyección no tiene nada que ver con estar infectado en el servidor, el mio no tiene ni tuvo ninguna infección y se me destrozaban todas las bases de datos de SQL.

Seguir estos simples pasos y vereis que todo está resuelto:

1.- El usuario que tenga la web no debe tener permisos DBO, solo de lectura y escritura de información, el resto es dejar puertas abiertas.

2.- En cada pagina.asp debe estar al principio esto:
tmp=request.QueryString
if instr(tmp,";")<>0 or instr(tmp,"declare")<>0 or instr(tmp,"[") or instr(tmp,"(")<>0 then
response.Redirect("infectada.asp")
end if

Con esto se filtra todo lo que entra inyectado y antes de abrir o tocar nada rediriges el usuario a una pagina de aviso que no toca nada de datos.

Seguir estas dos normas y vereis que se acabaron los dolores de cabeza.
Gracias compañero!

Bueno con el segundo punto no tengo dudas que esta correcto, ya que tengo una funcion que tiene esas restricciones y ademas tiene mas controles.

Pero con resecto al primero estoy con dudas porque no soy muy ducho con sql server, te comento que los permisos a la base del usuario que accede a la web son public y db_owner, esto esta bien?