|
Quisiera poder evitar este tipo de ataque en mi aplicacion web pero no tengo mucha idea de por donde empezar...
(comments are locked)
|
|
Existe una clase para ello: PHPInputFilter. Es gratuita y, como asegura su descripción, te filtra javascript, html y php no deseado. También puedes encontrar clases de filtrado en PEAR
(comments are locked)
|
|
Antes de plantearse usar soluciones con "nombre propio" en entornos concretos creo que es mejor intentar analizar el problema y delimitarlo para poder comprenderlo aplicado a otras situaciones y entornos de desarrollo distintos al planteado. Si estás interesado en la forma de evitar la inyección de código SQL deduzco que programas y que además tus programas contienen queries que atacan a una BBDD. Este es un caso de lo más común en programación web y cliente/ servidor en general. Cuando componemos queries con el input del usuario debemos tener en cuenta que tenemos una "ventana abierta" al exterior ya que los datos recibidos se integran en variables que contienen código SQL que posteriormente ejecutamos en el contexto de la BBDD. Habrá usuarios que introducirán sólo valores deseados, pero otros malintencionados intentarán usar esta ventana para obtener acceso a nuestros datos introduciendo sentencias SQL que pueden llegar a ejecutarse y así borrar datos, modificarlos o simplemente extraerlos. La solución es sencilla, basta con filtrar cualquier palabra clave SQL al recepcionar los valores de input del usuario provenientes de un formulario y limitar su longitud para evitar la inyección de código, o dicho de otra manera, asegurarnos de que lo que introducimos en nuestro servidor de BBDD está limpio de sorpresas. Lo mejor es programar una función que haga esta tarea para poder reutilizarla todas las veces que queramos. Te incluyo código mio en VBScript.
(comments are locked)
|
|
SI utilizas una capa de persistencia utilizando mapeo de objetos, como por ejemplo hibernate, ya tienes solucionado el problema. Te recomiendo que busques por internet el proyecto "webgoat", que es un proyecto web diseñado con agujeros de seguridad a propósito, con ta de que sirva como referencia para aprender técnicas de seguridad. Y como bien han comentado, es muy raro que hagas la pregunta y que tu mismo te contestes después dando la respuesta y simulando ser otra persona (es un sistema cutre para ganar puntos).
(comments are locked)
|
|
Las inyecciones de SQL suelen suceder cuando no se filtra correctamente los datos que ha introducido un usuario. Una forma bastante simple es filtrar el tipo de datos permitidos. Por ejemplo si el usuario introduce una fecha, procurar que tenga una estructura determinada y no contenga caracteres extraños como ",',-,#,etc... Puedes encontrar una explicacion bastante larga y con ejemplos (en ingles :S) aqui
(comments are locked)
|
|
yo he encontrado en los complementos de firefox un testeador de sql injection, creo que se llama injection me!.
(comments are locked)
|
Once you sign in you will be able to subscribe for any updates here
Por RSS:Danos tu opinón para ayudar a mejorar las comunidades de InfoJobs.
Temas:
Preguntada: jul 06 a las 11:42
Vista: 918 times
Actualizado por última vez: jul 06 a las 11:42
Explícame esto b3lia1 ¿Tú mismo te haces la pregunta y de das la respuesta? Algo huele a podrido en...
Los primeros usuarios del Site han sido los propios técnicos de InfoJobs, quienes han dado un primer empujoncito en la generación de contenido para que el día de su lanzamiento no estuviera vacío.
Algunos de los técnicos con dudas reales de su día a día seguían buscando por internet después de publicarme la pregunta y encontraban la solución. Pensé que formaba parte del espíritu del site que si alguien sabía la solución a un problema, la publicara. Así servirá para otros.
Confío que el propio sistema de votaciones hará que las buenas respuestas sobresalgan sobre las malas.