| |
Con el ataque Cross-Site-Scrippting (XSS), el ataque de SQL Injection es uno de los más comunes a la hora de intentar atacar un sitio.
Si bien un ataque tiene varias etapas que se deben pasar con anterioridad, el objetivo de esta nota es explicar de manera general el funcionamiento de este ataque.
Tal como el nombre lo indica, el objetivo es probar la vulnerabilidad del servidor de sql que se encuentra en el otro extremo, enviando sentencia sql a un formulario, el cual por falta de conocimiento o descuido del desarrollador, pudo quedar expuesto. Por lo general la exposición se debe al tratamiento incorrecto de caracteres de escape en los campos a ser cargados por los usuarios, típicamente usuario y contraseña.
Por lo general, un servidor web presenta formularios para que los clientes se registren, inicien sesión o realicen consultas una vez autenticados y estos formularios verifican la información en una base de datos SQL.
Por un error de programación se pueden colocar sentencias SQL que nos permitan iniciar seción como el primer usuario de la base de datos, sin siquiera conocer su nombre y su contraseña.
Así como en este ejemplo estamos iniciando una sesión, podemos realizar consultas de tablas, crear usuarios, envíos de información de cambio de contraseñas, y así varios otros más.
Por suerte, no todos los desarrolladores comenten el error mencionado, pero se sorprenderían la cantidad de sitios que cuentan con esta vulnerabilidad lista para ser “explotada”…
Osvaldo Casagrande
Senior Security Consultant
I-SEC Information Security Inc.
ocasagrande@gmail.com
osvaldo.casagrande@isec-global.com |
|