Consulta a una db

Iniciado por pilotcast, 1 Septiembre 2010, 00:51 AM

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

pilotcast

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

PHAMTOM

#1
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.


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


PHAMTOM


Miran a cualquier ventana, mientras su pánico emana
y nubla su visión mi calma es pura precisión
cargo munición y miro tranquilo
ya ni respiro desde al ático os vigilo sigo al filo os tengo a tiro!

La kitchner quiere tanto a los pobres,que cada vez,tiene más

pilotcast

#2
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

tragantras

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
Colaboraciones:
1 2

pilotcast

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

tragantras

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?
Colaboraciones:
1 2

pilotcast

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

tragantras

Cita de: 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

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
Colaboraciones:
1 2

pilotcast

#8
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

PHAMTOM

Cita de: 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

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) --
Miran a cualquier ventana, mientras su pánico emana
y nubla su visión mi calma es pura precisión
cargo munición y miro tranquilo
ya ni respiro desde al ático os vigilo sigo al filo os tengo a tiro!

La kitchner quiere tanto a los pobres,que cada vez,tiene más