1, el usuario predeterminado
base de datos de usuario con una gran cantidad de contenido de la instalación por defecto. SQL Server utiliza el famoso "SA" como una cuenta de administrador del sistema de base de datos, MySQL utilizando la "raíz" y la cuenta de usuario "admin", Oracle al crear una base de datos por lo general se crea de forma predeterminada la cuenta SYS, SISTEMA, DBSNMP y OUTLN, por supuesto, esto no es todas las cuentas.
Los desarrolladores de aplicaciones en la escritura de código normalmente se utiliza uno de la cuenta con privilegios construida para conectarse a la base de datos, en lugar de la vieja necesidad de crear una cuenta de usuario de acuerdo con las características del programa.
2, contenido adicional
Cuando un atacante explotar la vulnerabilidad de inyección SQL, a menudo tratan de acceder a los metadatos de base de datos. Los metadatos son datos contenidos en la base de datos interna, una base de datos o tabla tales como las columnas de nombre, tipo, o datos de acceso. Ventaja también se aplica al diccionario de datos y sistemas de directorio y otros artículos para representar la información.
MySQL Server (versión 5.0 y posterior) de metadatos base de datos virtual INFORMATION_SCHEMA ubicada y se puede acceder a través de las bases de datos comando show y tablas muestran. Todos los usuarios tienen derecho a acceder a la tabla de base de datos MySQL, pero sólo para ver las filas de la tabla con los correspondientes derechos de acceso del usuario.
principios similares y MySQL SQL Server, y por INFORMATION_SCHEMA o tablas del sistema (sysobjects, sysindexes, sysindexkeys, syscolumns , systypes , etc.) y el sistema de procedimiento almacenado para acceso a los metadatos. SQL Server 2005 introduce una serie llamada "sys. *" Vistas de catálogo, y restringir a los usuarios para acceder al objeto con los derechos de acceso adecuados. Todos los usuarios de SQL Server tienen acceso a las tablas de la base y se puede ver todas las filas de la tabla, independientemente de si el usuario tiene los derechos de acceso a la tabla de datos o consulta.
Oracle proporciona una función de vista de lo global odiaba el acceso a los metadatos de Oracle (ALL_TABLES, ALL_TAB_COLUMNS, etc.). La vista se enumeran las propiedades y objetos accesibles al usuario actual. Además, en vista del inicio de la pantalla sólo la USER_ objeto de usuario actual tiene (tales como columnas, una vista más restringido metadatos); Mostrar todos los objetos en la base de datos a la vista en el comienzo de DBA_. función de metadatos DBA_ requiere privilegios de administrador a la base de datos DBA.
Declaración Ejemplo
declaración de Oracle, citando el usuario actual puede acceder a todas las tablas
SELECT OWNER,TABLE_NAME FROM ALL_TABLES ORDER BY TABLE_NAME;
MySQL declaración, la lista de todas las tablas y bases de datos accesibles para el usuario actual
SELECT table_schema, table_name FROM information_schema.tables;
declaración MS SQL utilizando el sistema incluye una lista de todas las tablas accesibles
SELECT name FROM sysobjects WHERE xtype = 'U';
declaraciones MS SQL utilizando las vistas de catálogo tabla enumera todos accesibles
SELECT name FROM sys.tables;
3, por inferencia base de datos de identificación dialecto plataforma SQL
plataforma | conector | Líneas de comentario | La tabla sólo por defecto, variable o función | función de transferencia int Char |
---|---|---|---|---|
MS SQL Server | 'A' + 'B' | - | @@ PACK_RECEIVED | char (0x41) |
Oráculo | 'A' || 'B' concat ( 'A', 'B') |
- | BITAND (1, 1) | chr (65) |
MySQL | 'A' 'B' concat ( 'A', 'B') |
# - |
CONNECTION_ID () | char (0x41) |
Acceso | “A” y “B” | N / A | MSysObjects | chr (65) |
PostgreSQL | 'A' || 'B' | - | getpgusername () | chr (65) |
DB2 | 'A' concat 'b' | - | sysibm.systables | chr (65) |