Extraer un fichero local de un servidor mysql mediante una sql injection

En mysql existe la función LOAD_FILE que admite como parámetro la ruta de un fichero local en Hexadecimal.

Si por ejemplo convertimos “c:\boot.ini” a su representación hexadecimal “0x633A5C626F6F742E696E69″ y se realiza la injection de abajo, la condición será True si la primera letra del fichero corresponde con el carácter ASCII 1.

http://www.dominioejemplo.com/index.php?id=1 and
mid(Load_File(0x633A5C626F6F742E696E69),1,1)=CHAR(1)

Por cada query de éste tipo carga el archivo completo en memoria, recorriendo todos los valores posibles del alfabeto hasta llegar al final del mismo.

Fuente: 3ª Parte del artículo “Técnicas avanzadas de Blind SQL Injection por Chema Alonso”

Sobre Asier

Arquitecto web enganchado al desarrollo, estudio y planteamiento de proyectos en internet. Trabajo en Blackslot, empresa que fundé en el 2009. Me encanta el cine, el café, el sexo, la cultura geek, la cultura oriental y la música electrónica.
Artículo publicado en Bases de Datos, Seguridad, Sistemas. Enlace a esta entrada..

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos requeridos, están marcados *

*

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Notificarme los nuevos comentarios por correo electrónico. Tambien puedes suscribirte sin comentar.