目前,網際網路上動態網頁所使用的資料庫,最常見的就是microsoft access和microsoft sql server了。在判斷過動態網頁使用的是何種指令碼以後,就要判斷資料庫型別了。這在指令碼注入的過程中,是最基礎最重要的乙個過程。
菜鳥級別使用的一般有2種方法:
一、 利用資料庫伺服器的系統變數進行資料庫判斷
/index.asp?id=1 and user>0
在為過濾的指令碼系統中,此語句直接被判斷為正常語句,執行並給使用者進行反饋,則此指令碼系統使用的是microsoft sql server資料庫;還可以得到當前連線的資料庫的使用者名稱是否存在「user」中。
二、 利用系統表進行資料庫判斷
/index.asp?id=1 and (select count (*) from sysobjects)>0
/index.asp?id=1 and (select count (*) from msysobjects)>0
一般情況下,microsoft access的系統表是msysobjects,預設狀態下使用者沒有訪問許可權,而microsoft sql server的系統表是sysobjects,預設狀態下使用者是有訪問許可權的。
若資料庫是microsoft sql server,且沒有進行引數的過濾,則執行第乙個語句後,顯示的頁面是正常的,第二條語句的結果是異常的;若資料庫是microsoft access,那麼兩個鏈結得到的頁面都是異常的
SQL注入判斷資料庫型別
oracle port 1521 sql server port 1433 mysql port 3306 and select count from sys.user tables 0 and 1 1and select count from information schema.tables 0...
判斷注入型別
1 數字型注入 當輸入的引數為整形時,如果存在注入漏洞,可以認為是數字型注入。測試步驟 1 加單引號,url www.text.com text.php?id 3 對應的sql select from table where id 3 這時sql語句出錯,程式無法正常從資料庫中查詢出資料,就會丟擲異...
判斷注入型別 字元型注入
當輸入的引數為字串是,並且存在注入,可稱為字元型注入,字元型和數值型的區別在於數值不需要單引號閉合,而字元型都需要單引號閉合。例如 數值型 select from news where id 1 則這字元型 select from news where title abcd 以上可以看出,在構造pa...