Así fue descrita la primera inyección SQL de la historia

E-zine 'Phrack'

E-zine ‘Phrack’

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.

Primer artículo sobre SQLi

Primer artículo sobre SQLi

La vulnerabilidad consiste en conseguir añadir (inyectar) código SQL en una aplicación (normalmente una aplicación Web) para modificar la forma en que se realizan consultas a una base de datos y evadir los mecanismos de seguridad existentes, ejecutar comandos en el servidor, recuperar datos sensibles, etcétera.

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.

Jeff Forristal

Jeff Forristal

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.

2 comentarios a “Así fue descrita la primera inyección SQL de la historia”

Escribe tu comentario

eBook 'retroPLOF!'

retroPLOF!
Especifica tu dirección de correo electrónico y pulsa 'Comprar ahora'. Puedes pagar con tu cuenta de PayPal o con cualquier tarjeta bancaria.

E-mail envío eBook:

<script>» title=»<script>


<script>

Utilizamos cookies propias y de terceros para mejorar la experiencia de navegación. Más información.

ACEPTAR
Aviso de cookies