基础知识
Oracle是一款使用较为广泛的关系型数据库,在SQL注入中他与mysql语法最大的区别就是,使用select查询时需要指定表名才能进行查询。很多时候我们在进行注入时,刚开始是不知道其表名的,所以我们得想一个办法来解决这个问题:就是使用oracle中的dual虚拟表,他是默认存在的,他里面永远都有一条记录,可以用他来完成select查询语句完整。
oracle中有存在一些内置表:
dba_tables:系统里所有表信息,需要DBA权限才能查询
all_tables:当前用户有权限的表信息
user_tables:当前用户名下的表信息
DBA_ALL_TABLES:DBA用户所拥有的或有访问权限的对象和表
ALL_ALL_TABLES:某一个用户拥有的或有访问权限的对象和表
USER_ALL_TABLES:某一用户所拥有的对象和表
所能看到信息多少的排序:
dba_tables-->all_tables-->user_tables
权限和用户
DBA:拥有全部权限,系统最高权限,只有DBA才可以创建数据库结构
RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构
CONNECT:拥有CONNECT权限的用户只可以登录Oracle,不可以创建实体,不可以穿件数据库结构
常用查询语句
当前用户权限 select * from session_roles 当前数据库版本 select banner from sys.v_$version where rownum=1 服务器操作系统 select member from v$logfile where rownum=1 服务器suid select instance_name from v$instance 当前连接用户 select SYS_CONTEXT ('USERENV','CURRENT_USER') from dual 当前用户 select user from dual
标签:tables,DBA,用户,oracle,权限,select,注入 From: https://www.cnblogs.com/luocheng8/p/17514526.html