Remote File Downloading (RFD) En MySQL

Iniciado por M5f3r0, Octubre 20, 2013, 01:35:39 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Buenas comunidad de underc0de, como algunos pudieron haber notado estube varios días o hasta 1 mes sin actividad en la red, ya que no he tenido internet para conectarme, me podrán ver los online solo los fines de semana hasta que me llegue la reconexión. Pero bueno, en fin, comenzemos con el post.

Ciertas veces cuando estamos auditando la base de datos de un servidor web, podemos notar que no encontramos mucha información (solo en algunos casos) solo acerca de almacenamiento y logs de usuarios o secciones del servidor, esto es debido a que muchos de los programadores almacenan y registran datos en ficheros o archivos locales del servidor web tales como la conexión al MySQL, datos generales acerca del funcionamiento de procesos en páginas del sitio, etc.

Para ello, existen varios métodos para la extracción de información en ficheros, pero en está ocasión veremos algo acerca de "RFD" o "Remote file downloading" lo cúal es útil para extraer la source de archivos, en dónde, extraeremos la información mediante funciones de gestores de bases de datos tales como MySQL, Oracle, etc.

1.- ¿Qué es RFD?


RFD vendría siendo un proceso mediante el cúal un atacante sería capaz de descargar ficheros o sources de archivos que se encuentran en un servidor web, tales como la index/página principal, página de contactos, o hasta ficheros con información que puedan corromper toda la seguridad del sitio web.

Un método para ejecutar un proceso de RFD sería mediante gestores de bases de datos, tales como MySQL o oracle, en la que usamos funciones para leer o descargar archivos del servidor web. Pero en este caso, lo veremos con MySQL ya que no estoy muy especializado que se diga con otros gestores.

- MySQL:

En MySQL existe una función la cúal permite el contenido o source de un archivo en un servidor web, pero para poder ejecutar la función es necesario que el usuario MySQL tenga un cierto privilegio, llamado "FILE".

La función se llama "load_file()", por lo tanto, la debemos ingresar en la columna vulnerable, por ejemplo (Union based):

UB (Union based):

"UNION SELECT 1,load_file(0xnombredearchivohex),3,4,5,6 #".

Ese se ejecuta en una SQLi de tipo Union Based.

Blind Boolean Based:

En una Blind Boolean Based, como sabemos, obtenemos los resultados basándonos en valores booleanos, ya sea "true or false" o "verdadero y falso". Por lo tanto, obtendremos uno de los dos resultados.

"and ascii(substring(load_file(0xarchivoenhexadecimal), 1,1)=97"

En este caso, le estoy preguntando al servidor si el primer carácter de la source del archivo codificado en hexadecimal comienza con la letra "a", Este me respondera con un valor true or false.

Bueno, eso ha sido todo, espero les haya gustado. Saludos!
A veces, observo mi pasado y me arrepiento en la actualidad de todo lo que llegue a perder y olvidar por como me veía la sociedad, nunca dejes que las opiniones de los demás te lleguen a afectar moralmente hasta el punto en que dejes de hacer lo que más te apasiona, saludos! (msj escrito en el 2016)

muy bueno el tutorial  , pero tienes que tener la ruta completa del archivo a descargar seria bueno que tambien expliques eso

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
muy bueno el tutorial  , pero tienes que tener la ruta completa del archivo a descargar seria bueno que tambien expliques eso

En realidad, no es dificil conseguir la ruta del archivo, simplemente debes tener un full path disclosure del sitio.
A veces, observo mi pasado y me arrepiento en la actualidad de todo lo que llegue a perder y olvidar por como me veía la sociedad, nunca dejes que las opiniones de los demás te lleguen a afectar moralmente hasta el punto en que dejes de hacer lo que más te apasiona, saludos! (msj escrito en el 2016)

muy pero muy interesante, no conocía que SQL admitía load_file.

saludos!

saludos compa;

:o me has dejao  :o

sigue asi compa vas bien

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
saludos compa;

:o me has dejao  :o

sigue asi compa vas bien

Tiempo sin hablar bro, a ver si alguna noche te conectas al skype ;D.

Saludos!
A veces, observo mi pasado y me arrepiento en la actualidad de todo lo que llegue a perder y olvidar por como me veía la sociedad, nunca dejes que las opiniones de los demás te lleguen a afectar moralmente hasta el punto en que dejes de hacer lo que más te apasiona, saludos! (msj escrito en el 2016)