Efectividad de los Procedimientos Almacenados.

Iniciado por ^Tifa^, 15 Febrero 2010, 04:03 AM

0 Miembros y 1 Visitante están viendo este tema.

^Tifa^

Abri este post en relacion a una desvirtuacion que estaba creando aca :

http://foro.elhacker.net/nivel_web/asp_vulnerable_a_sqli_por_iis-t284500.0.html

Y entiendo tu punto WHK, revise el link que colocaste pero... el procedimiento es mas dificil de alterar los valores que recibe en relacion a las magic quotes o escape_querys, ya que el procedimiento si valida todos los datos que le llegan y no permite concatenaciones raras ni mucho menos. No digo que sea 100% no vulnerable porque creo que nada es 100% seguro, pero el que ataca la tiene mas chungo intentando bypassear un procedimiento almacenado... imaginate que en vez el id en este caso sea el numero de identificacion personal de alguien... claro puedes despues de mucho intento al azar encontrar una persona que tenga un id personal parecido a otra... pero considerando que las posibilidades son como el numero de la loteria. Las excepciones ya te comente como podria manejarlas para que el gracioso que ataque ni se entere de ver una excepcion retornada por el motor.

Quiero enterarme de la efectividad de vulnerar un procedimiento almacenado, como obligarlo a que llegue la query que alguien le manda? ese es mi dilema. Porque le estoy dando vueltas (no para atacar a nadie) sino para conocer que tan efectivo es y que tanto aplicaria llevarlo a una aplicacion de escritorio.

Nakp

ehm... prepared statements y punto xD hahahaha

pensando en lo que decías ayer, si alguien tiene acceso al script y conoce la query que intenta procesar tambien tendría acceso a los datos de conexion a la base de datos y por ende podría modificar los procedimientos a conveniencia, pero a esa altura ya habria owneado todo xD... la unica forma de conocer la query es teniendo acceso a los archivos porque nada genera errores en las prepared statements al igual que con los procedimientos almacenados

mi objetivo no es contradecirte, sino presentar como alternativa una opcion mucho mas segura y cómoda que escape_querys en php (tambien existen en asp.net que es de lo que va el tema anterior)
Ojo por ojo, y el mundo acabará ciego.

^Tifa^

Vaya pero si para bypessear un procedimiento tienen que hackear primero al servidor, consideras mas efectivo los escape_querys???

Estoy casi casi considerando inclinarme por el procedimiento almacenado....  :laugh: 

Nakp

Cita de: ^TiFa^ en 15 Febrero 2010, 06:21 AM
Vaya pero si para bypessear un procedimiento tienen que hackear primero al servidor, consideras mas efectivo los escape_querys???

Estoy casi casi considerando inclinarme por el procedimiento almacenado.... :laugh:

si obtienen acceso a los datos del script (donde obligatoriamente obtiene una conexion y datos :D), se obtienen los datos acceso al servidor tambien con una shell local :P si logra ver una prepared statement, lograría conectar al servidor y ver un procedimiento

ambos metodos son igual de seguros, pero depende de la comodidad del desarrollador donde quiere la query, en un proceso almacenado (y entrar al servidor de bd cada vez que la modifique) o tenerla implicita en la aplicacion que desarrolla (su script... asp, php, perl, etc)

escape_query es igual de efectivo porque de hecho, hace lo mismo, (es lo que queria que probaras cuando tenias un registro con una string "maliciosa" como valor, una escaped xD)

solo que no es implicito y la efectividad depende de la eficiencia del programador que tiene que asegurarse que absolutamente todos sus datos sean "escaped" lo cual no es nada cómodo ni produce un codigo limpio :P
Ojo por ojo, y el mundo acabará ciego.