Ir al contenido principal

SQL Inyección con PHP. PARTE I

Hoy estaba testeando una aplicación que estoy desarrollando; ya saben, la típica que la interfaz esta hecha para todo menos para que el usuario de click en donde nunca jamas debe de dar click simplemente por que no es obvio no es razonable no es intuitivo, pero el usuario hace el click y truena el sistema, la verdad esto es molesto pero muy necesario hacer este tipo de pruebas para que cuando liberes tu aplicacion tenga lo menos posible de errores o caídas,.

Este fin de semana platique con mi cuñada y le mostré mi aplicación le pedi de favor que interactuara con ella y al cabo de tiempo me dice "que pasa si en lugar de guardar todos dejo este sin seleccionar" increíblemente no había pensado en eso, estaba tan preocupado por otros aspectos que no había colocado una validación en los campos de un formulario; seguido de esto me fui a mi casa y estuve pensando que así como deje de hacer esa validacion sencilla de campos deberían de existir mas bugs en mi aplicacion, de esta forma supe que necesitaba poner atención.






Navegando con el buen amigo Google y buscando vulnerabilidades de PHP+Mysql, me encontré con la Inyeccion SQL, pero ¿que es eso?, según Wikipedia:
Inyección SQL es un método de infiltración de código intruso que se vale de una vulnerabilidad informática presente en una aplicación en el nivel de validación de las entradas para realizar consultas a una base de datos.
En pocas palabras, la inyeccion SQL es como su nombre lo dice una inyección de código sql en una consulta previamente definida, casi siempre con el objeto de tomar información de una base de datos llegando a conseguir un user y un password para poder manipular totalmente una base de datos, para los que entienden un poco de esto habrán pensado que es realmente delicado, si nuestra aplicacion maneja información sensible para la empresa en donde se esta desarrollando es sumamente importante dotar de mayor seguridad a nuestras aplicaciones, tratare de explicar como entiendo lo que es la inyección sql a continuación un ejemplo; Supongamos que tenemos una url así:

http://mipagina.com/viewrentas.php?iden=2

Ahora bien necesitamos observar bien la url, en ella nos muestra información importante de como podría estar haciendo el programador la consulta a la base de datos llegando al siguiente query:

$sql = 'SELECT * FROM clientes
WHERE personas.id = '.$_GET['iden'];


La query anterior selecciona todos los campos de la tabla clientes donde id de los clientes sea igual a 2(esto segun nuestra url). La consulta anterior es claramente vulnerable a inyecciones SQL, ¿Por que?, eso lo tratare de explicar en mi próxima entrada.


SQL Inyección con PHP. PARTE II

Comentarios

Entradas populares de este blog

Como instalar la app world en mi Blackberry

Instalación de la app world en mi blackberry Hola amigos, ahora con el auge de los blackberry tengo muchos amigos que me preguntan de donde saco tantas aplicaciones, pues ellos no saben de donde. Lo que no saben es que existe una aplicación que se llama appworld, en donde hay aplicaciones tanto de paga como gratuitas. Pues lo único que hay que hacer son los siguientes pasos. Si tienes un plan de datos: 1.- Abrir el explorador desde tu Blackberry 2.-Ir a la siguiente dirección appworld http://us.blackberry.com/apps-software/appworld 3.- En la página hay un botón que dice Download it today . Una vez que inicie la descarga tu dale que si a todo. 4.- Para ingresar a la appworld sólo tienes que buscar un icono como este desde el menú de tu Blackberry y listo. Ahora podrás disfritar de miles de aplicaciones gratuitas de la appworld

Windows 7 Ahora si el definitivo?

Windows 7 Ahora si el definitivo que quitara de las preferencias a WinXP Lo primero para abrir este blog es comentar mi experiencia con la instalacion de windows 7 Ultimate. Les paso las caracteristicas de mi computadora personal: Compaq C318LA RAM 1.25 GB Disco Duro 80GB Procesador Intel Centrino 1.86GHz Como pueden observar mi computadora es un poco vieja la verdad tengo con ella un poco mas de 3 años y a continuación muestro mi experiencia instalando Windows 7. Al momento de bootear desde mi unidad de disco, entro bien sin ningun problema prosegui a darle formato a mi disco duro para despues instalar el sistema, todo corrio con normalidad al finalizar la instalacion se reinicio por primera ves. Ya iniciada me lleve una muy grata sorpresa, por primera ves un SO Windows no me habia pedido drivers de nada!!!!!, el sonido, modem, video todo funcionando desde el principio despues prosegui a explorar mi nuevo SO. La verdad el cambio de Windows XP a Windows 7 (Seven) Ultimate, a sido muy g...