SQL注入判斷資料庫型別

2022-08-24 08:45:08 字數 1088 閱讀 2189

oracle

port:1521

sql server

port:1433

mysql

port:3306

and (select count(*) from sys.user_tables)>0 and 1=1
and (select count(*) from information_schema.tables)>0 and 1=1
and (select count(*) from msysobjects)>0 and 1=1
and (select count(*) from sysobjects)>0 and 1=1
and '1' + '1' = '11'

and concat('1','1')='11'

and '1' + '1' = '11'
and '1'||'1'='11'

and concat('1','1')='11'

mysql資料庫:(1)以" /* "開始,以" */ "結束。(2)或者" # "。

oracle: 支援單行注釋" -- "和多行注釋" /* */ "

" ; "是子句查詢識別符號,oracle不支援多行查詢,因此如果返回錯誤,則說明很可能是oracle資料庫

oracle: length():表示字串長度 lengthb():表示字串的位元組長度

mysql:length():返回字串所佔的位元組數 char_length():返回字串的字元數

mysql: @@version或是version()來返回當前的版本資訊。

但無法判斷是mysql還是mssql時,可以用version()函式來構造判斷。

version()>1 返回與@@version>1 相同頁面時,則可能是mysql。如果出現提示version()錯誤時,則可能是mssql。

在mssql中可以呼叫substring(), oracle則只可呼叫substr()

指令碼注入 判斷資料庫型別

目前,網際網路上動態網頁所使用的資料庫,最常見的就是microsoft access和microsoft sql server了。在判斷過動態網頁使用的是何種指令碼以後,就要判斷資料庫型別了。這在指令碼注入的過程中,是最基礎最重要的乙個過程。菜鳥級別使用的一般有2種方法 一 利用資料庫伺服器的系統變...

mysql資料庫sql注入原理 SQL注入原理

結構化查詢語句 structured query language,縮寫 sql 是一種特殊的程式語言,用於資料庫中的標準資料查詢語言。sql注入 sql injection 是一種常見的web安全漏洞,攻擊者利用這個問題,可以訪問或者修改資料,或者利用潛在的資料庫漏洞進行攻擊。什麼是sql注入?s...

資料庫的SQL注入

如果您通過網頁獲取使用者輸入的資料並將其插入乙個mysql資料庫,那麼就有可能發生sql注入安全的問題。本章節將為大家介紹如何防止sql注入,並通過指令碼來過濾sql中注入的字元。所謂sql注入,就是通過把sql命令插入到web表單遞交或輸入網域名稱或頁面請求的查詢字串,最終達到欺騙伺服器執行惡意的...