Los inicios del lenguaje SQL (Structured Query Language) de consulta de datos se sitúan en el año 1986, cuando el Instituto Nacional Estadounidense de Estándares (ANSI) realizó una primera publicación de sus especificaciones sobre cómo operar con bases de datos relacionales. Sin embargo, no fue hasta el año 1999 cuando este lenguaje se convirtió en lo que se conoce actualmente, esto es, cuando se añadieron expresiones regulares y la posibilidad de realizar consultas recursivas.
En aquel año 1999, ya estaba ampliamente extendido el uso de PHP y el contenido dinámico a nivel de páginas web con MySQL. La primera versión de MySQL surgió en el año 1995, y PHP apareció en 1997 (publicado oficialmente en 1998). 1999 fue, además, el año de nacimiento de CVE (Common Vulnerabilities and Exposures) para recoger y formalizar miles de vulnerabilidades informáticas.
Pues sólo un año antes, en 1998, el afamado hacker Jeff Forristal, bajo el seudónimo Rain Forest Puppy, fue el primero en describir, en un artículo del conocido e-zine Phrack, una novedosa técnica —para aquel momento— en la que, en un equipo que corría Windows NT, con un servidor web IIS 4.0 y montando un servidor de datos Microsoft SQL Server 6.5, a través de conexiones ODBC se podían ejecutar consultas y comandos utilizando lenguaje SQL. Aquel escrito, titulado NT Web Technology Vulnerabilities, acababa de poner los cimientos para lo que aún hoy sigue siendo uno de los ataques web más utilizados: la inyección SQL, o SQL injection (SQLi). Puede consultarse aquel documento completo en el propio sitio web de Phrack.
Cuando un compañero investigador de Forristal envió un mensaje a Microsoft explicando el problema que habían descubierto, su respuesta fue bastante hilarante: “lo que nos describe usted no es un problema, así que no se preocupe por hacer nada para solucionarlo”. Hoy día, dieciocho años después de su primera divulgación pública, la SQLi se encuentra, repetidamente, en el puesto número uno de vulnerabilidades en el informe OWASP Top 10, que se publica cada tres años por la Fundación OWASP (Open Web Application Security Project) y que controla las perores amenazas a las que se enfrentan los sitios web en la actualidad.
I worked with a fellow WT'er on this problem. He did the good thing and told
Microsoft, and their answer was, well, hilarious. According to them,
what you're about to read is not a problem, so don't worry about doing
anything to stop it.
Casi veinte años después, los motores de lenguaje SQL han evolucionado mucho, pero la destreza del programador de consultas es prácticamente lo único que cuenta para evitar estos ataques. La destreza y, también, la experiencia en estas lides, sabiendo en todo momento dónde debe poner las trabas necesarias para que un atacante externo no tenga acceso a la información devuelta por según qué consultas maliciosas.
Fuente:
http://www.teknoplof.com/2016/12/01/asi-fue-descrita-la-primera-inyeccion-sql-la-historia/
No hay comentarios:
Publicar un comentario