本文转自:MySQL、MSSQL、Oracel、PostgreSQL、Access数据库注入相关

注释符

MySQL 单行:#、—+ 多行: //、/!/
MSSQL 单行:— 多行: /
/
Oracle 单行:— 多行: //
PostgreSQL 单行:— 多行: /
/
Access 无注释符

所以,除了Access无注释符

除MYSQL单行和多行注释都有两个

其余三种数据库的单行和多行注释符均为—、/**/

数据库端口

MySQL 3306
MSSQL 1433
Oracle 1521
PostgreSQL 5432
Access 属于文件型数据库,所以不需要端口号

数据库文件后缀名

MySQL 数据文件:.myd 、索引文件:.MYI 、表定义文件:.frm
MSSQL .mdf
Oracle .dbf 、.ora
PostgreSQL 无后缀名
Access 早期是 .mdb ,后来是 .accdb

特有的数据库

MySQL information_schema
MSSQL sysobjects
Oracle dual
PostgreSQL
Access msysobjects

查看当前用户或权限

MySQL
查询当前用户
select user();
select substring_index(user(), ‘@’, 1) ;

查询当前用户的权限
select * from mysql.user where user = substring_index(user(), ‘@’, 1) ;

MSSQL
判断是否是SA权限
select is_srvrolemember(‘sysadmin’)

判断是否是db_owner权限
select is_member(‘db_owner’)

判断是否是public权限
select is_srvrolemember(‘public’)

Oracle
查看当前用户
select * from user_users;

查看当前用户拥有的角色
select * from session_roles;

查看当前用户拥有的权限
select * from session_privs;

PostgreSQL
查看用户
select user

查看当前用户
select current_user

ASCII转换函数

MySQL select char(97)
MSSQL select char(97)
Oracle select chr(97) from dual
PostgreSQL select chr(97)
Access select chr(97)