Ver Mensaje Individual
  #2 (permalink)  
Antiguo 19/04/2006, 08:29
Notwen
 
Fecha de Ingreso: abril-2006
Mensajes: 268
Antigüedad: 18 años
Puntos: 2
Cita:
Iniciado por bictorman
¿Para que te hagan inyección SQL tienen que conocer el nombre de las tablas?
Eso depende del tipo de ataque que se este intentando realizar. Si el atacante solo quiere ingresar al sistema sin permiso, probablemente no necesite conocer nombres de campos ni de tablas, con solo manipular las datos que van a ser utilizados en la consulta (nombre de usuario y password) podria realizar su ataque.
En cambio, si un atacante quiere obtener algunos datos quizá deba tener algún conocimiento de la estructura de la base de datos.
Lo que decís de los nombres es cierto. Hay ciertos tablas típicas, como las que almacenan contraseñas, que siempre utilizan nombres de campos que siguen un patrón deteminado (el campo que almacena la contraseña generalmente se llama password, pass, contra, etc). Si nosotros utilizamos nombres de campos "no convencionales" estaremos haciéndole las cosas más difíciles al atacante.
Igualmente, no deberias confiarte en este tipo de cosas. La validación de los datos ingresados por el usuario es la principal defensa contra los ataques de inyección de sql.
Saludos.