How to: Mostrar en un SQL INJECTION las tablas de la BD
Written on Ene 25, 2007 // Hacking, PHP, Programación.Sinceramente no sé , y tampoco creo que se pueda(tampoco me he puesto a buscar, prefiero averiguar), al menos en Mysql. Existe algo llamado SHOW TABLES, pero no es propiamente una consulta, por lo que en una UNION no se puede utilizar.
Hay otra forma de saber el nombre de las tablas, haciendo consultas a la base de datos information_schema, pero en un script, no se esta conectado a esa base de datos, si no a la que se esta ocupando. No se si se puedan hacer una consulta con datos de 2 BD en Mysql, al parecer en otros DBMS si.
En Postgresql si se puede mostrar las tablas de la base de datos, estando conectados a ella, ya que la información del shema esta en cada bd, por lo que un sistema con Sql Injection, utilizando Postgresql puede ser muy peligroso. Solo es hacer una unión y acomodar un poco la siguiente consulta.
SELECT table_name FROM information_schema.TABLES WHERE table_schema = 'public';
¿Alguien sabe como y podría ilustrarnos a todos?












g30rg3_x
Ene 25, 2007, 8:01 pmBajo MySQL y dentro de un Blind SQL Injection no es posible mostrar o intentar sacar con errores faciles los nombres de la BD, si no que hay que hacer un bruteforce un buen texto sobre esto se encuentra en esta web http://www.reversing.org/node/view/13
donde se habla como hacer blind sql injection bajo mysql, ya que como dices es imposible predecir o poner algun pseudo objeto como en SQL Server o sacar el esquema con Postgre y las tablas mysql information schema etc, solo estan al alcance de un usuario root, asi que a menos que este mal configurado los permisos no podras sacar nada de esas BDs ni insertar algo….
Saludos
PD: Te pico lo que te pregunte vdd?
juLio
Ene 25, 2007, 1:36 amYa cheke el texto, ta chido lo probare xD