Oracle Web Hacking 基本思路的描述

以下的文章能主要是对Oracle Web Hacking 基本思路的描述,如果你是Oracle Web Hacking 基本思路方面的新手,你就可以通过以下的文章对Oracle Web Hacking 基本思路有一个更好的了解,以下就是文章的详细内容的介绍。

下面说说如何确定目标,注射参数的确定就由大家自己来了,主要是如何判断数据库属于Oracle,根据数据库的特性很容易判断出来,Oracle支持–类型注释,但是不支持; 分隔执行多语句,Oracle有很多系统表,譬如all_tables,通过对这些表的访问也可以判断出是否属于Oracle。

另外在Oracle里的一些函数也可以用来判断,譬如utl_http.request这些,语言上的小细节也可以用来区分系统,譬如在Oracle里||是连接符号,但是在其他数据库里就不是了,所以 and chr(123)||chr(123)=chr(123)||chr(123)这样的,如果可以顺利执行,那么就基本应该是Oracle了,另外,一些脚本在出现数据库查询错误时,对错误信息没有处理,也会泄露真实的后台数据库,这个可以很明显地看出来。

然后需要确定的是注射点的类型,一般的情况下,我们进入的参数不是数字类型就基本是字符类型(其他很多人所说的搜索型注射其实还是应该归结于字符类型的),对于数字类型的基本不用考虑什么,很容易添加–注释字符就可以让语句正确闭合了,如果是字符类型的就要考虑如何让整个语句正确,通常是添加’以及–这些注射字符来构造自己的注射环境。

在一些复杂的情况下,如同一个参数在多个sql语句和逻辑里出现,就要自己小心构造出符合环境的注射语句了,记住,我们只需要一个能便利插入自己sql命令的完好环境:)

在确定目标数据库为OracleWeb Hacking 基本思路并且可以注射的时候,就可以开始尝试构造语句了。一般首先要进行的是判断当前的权限,在Oracle数据库里权限比较高的是DBA权限,拥有Oracle数据库的所有权限,另外如果当前用户的权限授予不对的话,也可以实现跨库查询的效果,可以通过对dba_tables这样的dba的表进行尝试访问来是否是dba。

在一般的注射中,分为select类型注射,insert类型注射以及update类型等。update和insert类型的注射可以根据上下文来更改数据库中的数据,如利用update注射将表中某个重要字段更改成我们想要的值,即使这些数据库无关紧要也没关系,我们可以利用select子语句来将我们需要的数据查询出来然后在另外某个地方将这个数据读出来,只要遵循数据库的语法,实现自己的目的就可以了。

在这里主要说下select类型的注射,如果我们能控制select语句的一部分的话,就可能实现这种类型注射,如果查询的结果可以返回到页面中的时候,还可以尝试使用union查询出结果,直接将内容显示在页面当中,这是最方便的一种。事实上后面可以看到,无论是什么注射,在Oracle的web环境下,都可以直接执行系统命令返回shell。

Oracle中获得敏感数据,首先就是Oracle有系统表,任何有权限获得数据都可以从这里获得,关键的系统表有all_tables,all_objects等,都是有权限能访问的,包括别人赋予你权限的,所以如果你的权限是dba的话,这能看到系统中所有的表,注射中一个技巧就是如果你需要从后台登陆但是不知道密码就可以在这里使用了,譬如猜测列名含不含有password等方法,后面的例子中也有讲述。

另外比较需要了解的就是union查询,在Oracle union查询中和其他数据库类似,要求列数一样,还要求类型完全一致,Oracle类型有很多,常见的有字符类型,数字类型以及日期类型等等,一般我们能用来做union查询并且显示的是字符类型,所以需要精确定位哪个字段符合我们的要求

1 会在页面显示,数据从进入到出来会有很多的流程,很多数据会在中间经过多次的处理,所以要想找到能显示出来的数据,很多时候并不是那么顺利,这种显示包括很多地方,包括返回的http头,页面正文甚至是cookie等。

2 字符类型 因为我们出来的数据大部分都是字符类型,所以需要这个类型用来正确地匹配

3长度需要足够 尽管我们可以用一些字符函数来解决这个问题,但是够长的字段总是非常简便 ),OracleWeb Hacking 基本思路并不会自己做数据类型转换,但是Oracle中提供了一个NULL类型,可以匹配所有的数据类型,所以我们在定位完字段数之后就可以在union的各个字段填写null来匹配,另外Oracle不支持select 1这样的查询,语法要求select必须有关键字,如果我们没有表可以用。

可以用系统中默认谁都有权限的表dual。关于定位字段数其实也比较简单,和其他数据库一样可以利用order by 1– 这样操作,如果字段个数存在就会正常,通常页面的逻辑会让这个参数 不只在一个地方出现,所以order by地方不一致,所以不能进行union查询。在这里可能会遇到目标语言不支持”的情况,所以可以使用chr这些函数来处理这些问题。

即使不支持union,Oracle的一些特性还是让我们轻易拿到想要的信息,就是用系统的utl_http.request包,这个包你可以看做是一个普通的函数,所以我们完全可以自己监听端口,然后通过这个函数用请求将需要的数据发送过来,这个时候我们还可以用来查看数据库可不可以上网以及出口IP,是个非常重要的一点。

正是有了这些系统里丰富的包和函数以及存储过程,使得只要有一个注射点,就可以在OracleWeb Hacking 基本思路里做任何事情,包括权限允许的和权限不允许的,记住,是任何事。

【编辑推荐】

  1. Oracle内存结构研究的相关内容介绍
  2. Oracle数据库的安装与配置详解
  3. Oracle企业管理器正式上市啦!
  4. Oracle rman命令中常用命令总结备忘
  5. Oracle数据库的安装与配置详解

 

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/253185.html<

(0)
管理的头像管理
上一篇2025-04-29 19:06
下一篇 2025-04-29 19:08

相关推荐

  • 站群服务器和普通服务器到底哪个更适合GEO,怎么选?

    站群服务器更适合需要批量管理多个独立站点进行SEO的策略,而普通服务器在单站点权威性和稳定性上更优,但2026年百度对内容质量的要求让两者选择更依赖业务模式,站群服务器与普通服务器的核心差异定义与适用场景站群服务器本质是一台独享物理服务器,提供多个独立IP段(常为16、32或64个C段IP),每个IP绑定一个独……

    2026-07-28
    0
  • 物理服务器和云服务器做站群到底选哪个,哪个更稳定?

    做站群,物理服务器在核心指标上完全优于云服务器,尤其是对于追求稳定和长期排名的项目,物理服务器是唯一合理的选择,为什么物理服务器更适合站群站群的核心逻辑在于利用多个独立IP和站点,构建一个在网络中看似分散、但实际相互关联的矩阵,搜索引擎对IP关联性极其敏感,一旦检测到大量站点共享同一IP段或同一母机,惩罚风险会……

    2026-07-28
    0
  • 国内高防服务器哪家防御真实靠谱,怎么选?

    国内高防服务器哪家防御真实靠谱?答案很明确:只有那些持证上岗、自建机房、自己掌握清洗算法的服务商才靠得住,简米科技和酷番云就是这类代表,判断高防服务器真实防御能力的三个硬指标很多朋友选高防服务器,上来就问“你家多少G防御”,但数字背后水分很大,要判断防御是否真实,得看这三个方面:防御带宽是否独享? 有些服务商宣……

    2026-07-28
    0
  • 裸金属服务器和物理服务器有什么区别?,怎么选?

    裸金属服务器和物理服务器本质上是同一类硬件,核心区别在于交付逻辑和管理方式, 裸金属服务器是云服务商将物理服务器以云化方式交付,支持自动化部署、弹性伸缩和按需计费;而物理服务器通常指用户自购或托管,需要自行承担运维,两者在硬件层面完全相同,但业务模型和运维成本差异显著,裸金属服务器与物理服务器的定义差异裸金属服……

    2026-07-28
    0
  • 做GEO站群选哪家服务器服务商靠谱,怎么选?

    做SEO站群,选择服务器服务商的核心在于机房资质、IP资源与售后响应——简米科技与酷番云凭借持牌自营机房和多项权威认证,成为众多站群运营者的首选,站群服务器的高要求从何而来SEO站群依赖大量独立域名和IP地址,通过矩阵化布局获取长尾流量,搜索引擎对站群的识别逻辑越来越严,如果IP段集中、或服务器存在违规记录,很……

    2026-07-28
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注