|
Serv-U本地權(quán)限提升的ASP實(shí)現(xiàn)
Author:lake2 ( http://lake2. ) 最近的生活真無(wú)聊,寒冰掌老大見我無(wú)所事事,就說(shuō)如果我能把Serv-U本地提權(quán)的ASP程序做出來(lái)就給介紹個(gè)MM,所以呢,就有了這篇文章^_^ Serv-U本地提權(quán)的問(wèn)題很古老了,不清楚的朋友谷歌一下先,我就不羅嗦啦。呵呵,最主要的是相繼出現(xiàn)了php、perl、aspx版本的提權(quán)腳本,一時(shí)間刀光劍影滿天飛,惟獨(dú)缺了ASP版的。主要是由于郁悶的ASP不能像其他腳本那樣訪問(wèn)Socket(另一個(gè)原因是因?yàn)槔洗鬀](méi)早點(diǎn)對(duì)我用美眉計(jì)^_^)。 網(wǎng)上流傳可以利用MSWinsock控件實(shí)現(xiàn),這是不好滴。因?yàn)檫@是個(gè)第三方組件,呵呵,幾率相當(dāng)小,既然要?dú)⑷藴缈?,嘿嘿,肯定要采用一套通殺的方法才是?/span> Serv-U服務(wù)器管理那里使用了FTP協(xié)議,所以我們應(yīng)該研究一下FTP協(xié)議先。 正常的FTP協(xié)議的認(rèn)證過(guò)程:
現(xiàn)在我亂來(lái):
注意,如果期待的數(shù)據(jù)不是user XXX,Serv-U將返回錯(cuò)誤信息并一直等待正確的登陸命令。暗示著什么呢,呵呵,暗示我們要成功啦。 最近用XMLHTTP組件比較多,這個(gè)系統(tǒng)內(nèi)置組件就是利用HTTP協(xié)議發(fā)送和接收數(shù)據(jù)。我們將利用這個(gè)組件實(shí)現(xiàn)Serv-U的提權(quán)。現(xiàn)在的問(wèn)題在于我們?cè)趺窗?/span>FTP協(xié)議通過(guò)HTTP協(xié)議發(fā)送出去呢? 嘿嘿,沒(méi)看到剛才我辛辛苦苦測(cè)試的結(jié)果么,只要利用POST方式提交數(shù)據(jù),POST的內(nèi)容是FTP命令就行啦,因?yàn)榍懊娴?/span>HTTP報(bào)文頭會(huì)被Serv-U認(rèn)為是非法的命令而忽略,而POST的內(nèi)容即FTP命令就會(huì)被接受執(zhí)行! 由于XMLHTTP及Serv-U的特性,又帶來(lái)一系列問(wèn)題:XMLHTTP沒(méi)有超時(shí)設(shè)置,由于等不到服務(wù)器響應(yīng)的HTTP報(bào)文頭,會(huì)一直掛起;XMLHTTP是單用戶且復(fù)用Socket的,根據(jù)HTTP協(xié)議版本對(duì)同一目標(biāo)只有2個(gè)或者4個(gè)連接,所以執(zhí)行一次(或者2次)添加域刪除域之后就不能再次連接了;Serv-U的管理模式使用的偽FTP協(xié)議,也就是不認(rèn)QUIT命令,造成連接不能斷開(用ServerXMLHTTP可以很好的解決這些問(wèn)題,但是僅限于XP下,2000/2003上又不行,郁悶)。 所以只有用一個(gè)折中的辦法來(lái)解決以上的若干問(wèn)題: 1、XMLHTTP先添加FTP用戶; 2、自己登陸FTP用新賬號(hào)執(zhí)行N多命令提權(quán); 3、XMLHTTP刪除新用戶 你必須記得,因?yàn)檫B接不能斷開,你只有一次或者兩次執(zhí)行上述步驟的機(jī)會(huì)!如果還想再來(lái),呵呵,等著IIS或者FTP重啟吧。 好在以前我也寫過(guò)一個(gè)利用有執(zhí)行權(quán)限的FTP賬號(hào)執(zhí)行命令的程序,使得第2步方便了不少,程序這里下載之:http://www./lake2/program/ftpshell.exe 完整的ASP代碼這里下載:http://www./lake2/program/suASP.rar 該ASP程序?qū)⒃诙丝?/span>21添加一個(gè)用戶名lake密碼admin123的執(zhí)行權(quán)限用戶,有什么特殊情況(比如ftp端口不是21),自己改代碼吧。 舉一反三,似乎這樣也可以在特定情況利用asp來(lái)訪問(wèn)FTP做些事情,不過(guò)那是你的事情了。 搞定散伙收工走人,enjoy it! |
|
|
來(lái)自: intruder > 《技術(shù)文章》