IIS漏洞應用漏洞預警 -電腦資料

電腦資料 時間:2019-01-01 我要投稿
【clearvueentertainment.com - 電腦資料】

   

    by yuange

    新近發(fā)現(xiàn)IIS一堆漏洞,說說應用吧,

IIS漏洞應用漏洞預警

。需要一個虛擬可執(zhí)行目錄,WINDOWS常見的有 /scripts,/cgi-bin,/_vti_bin,一般/_vti_bin目錄是映射到“program files”目錄,一般會在系統(tǒng)盤上面,而SCRIPTS有時不在系統(tǒng)盤上。還可以找頁面查看源文件找一些計數(shù)器目錄。

    比如測試有不有/SCRIPTS目錄,可以http://www.xxx.com/scripts/,現(xiàn)在一般不準許目錄瀏覽有目錄就會返回403錯誤,沒有是404。用.ida,.idq,idc等辦法也可以試。試試是否可執(zhí)行,可以http://www.xxx.com/scripts/&cmd.exe 如果是可執(zhí)行目錄會返回500內(nèi)部服務器錯誤,不可執(zhí)行會返回404找不到文件錯誤。

    只要有了一個可執(zhí)行目錄可以用編碼的../進入那盤任意目錄運行任意可執(zhí)行文件,編碼方法是../的任意一個字符用%25+其16進制碼表示,比如“.”可表示成“%252e”,如果回去層次比較多,可以用編碼“../..”的“/”效率比較高!..%255c..”代表“../..”.

    比如要執(zhí)行 dir d:\ :

    http://192.168.8.48/scripts/..%255c../..%255c../winnt/system32/cmd.exe?/c+dir+d:\

    要重定向的話輸入里面不能有字符串cmd.exe或者command.com,比如要執(zhí)行 dir d:\ /a /s 可以:

    http://192.168.8.48/scripts/..%255c../..%255c../winnt/system32/cmd".exe?/c+dir+d:\+/a+/s+>>+d:\dir.txt

    就是命令CMD.EXE寫成cme".exe,同樣“?”后面參數(shù)也得注意,有時可以合理利用“*”。

    這必須要求可執(zhí)行目錄和執(zhí)行的命令在一個盤。

    另一個方法可以不要求CMD.EXE與可執(zhí)行目錄在一個盤,但要求有一個不是0字節(jié)不是真的.exe文件格式的.BAT文件:

    IIS可執(zhí)行目錄可以執(zhí)行可執(zhí)行的EXE文件,如果BAT文件沒有做映射,可執(zhí)行目錄

    的BAT是不能執(zhí)行的。但通過特殊辦法可以讓BAT文件得到執(zhí)行,要命的時執(zhí)行BAT文件

    的時候可以用管道符等。

    比如我的虛擬目錄“/BAT”是映射到“E:\”,有可執(zhí)行權限(不是腳本),我的系

    統(tǒng)目錄"d:\winnt",e盤有文件“cc.bat”,cc.bat實際內(nèi)容不是一個可執(zhí)行文件(這點

    必須,要不做可執(zhí)行文件執(zhí)行,后面管道符后的命令就不能得到執(zhí)行),也可以不是一

    個正常的BAT文件,

電腦資料

IIS漏洞應用漏洞預警》(http://clearvueentertainment.com)。那么下面連接:

    http://192.168.8.48/bat/cc.bat"%20+|+copy+d:\winnt\system32\cmd.*+e:\*.exe

    實際就執(zhí)行了copy d:\winnt\system32\cmd.* e:\*.exe。

    注意IIS為了防映射了BAT到CMD,解釋BAT文件的時候傳遞特殊字符,發(fā)現(xiàn)命令行有

    "cmd.exe"或者"command.com"串的時候,再有字符“&|(,;%<>”中的一個就會報“HTTP

    500 - 內(nèi)部服務器錯誤”。注冊表里面可以設置 "AllowSpecialCharsInShell",不讓

    檢測這些特殊字符,缺省是要檢測的。

    實際上面的HTTP是調(diào)用了CreateProcessA(“"e:\cc.bat" | copy

    d:\winnt\system32\cmd.* e:\*.exe"”,..),IIS在可執(zhí)行文件前后加了“"”,這是

    CreateProcessA的一個功能,這IIS沒有錯誤。但我的文件名里面加了個“"”,實際執(zhí)

    行CreateProcessA這個API的時候就截斷成了執(zhí)行“e:\cc.bat”,這個IIS的錯誤在于

    沒有檢測文件名里面的特殊字符(這兒是“"”)。而CreateProcessA這個API又會干很

    多IIS不知道的事。如果發(fā)現(xiàn)是可執(zhí)行文件,那么加載執(zhí)行,如果不是可執(zhí)行文件而后

    綴是BAT會自動調(diào)用CMD.EXE解釋執(zhí)行。那么后面管道符后命令也得到執(zhí)行。

    這點需要一個虛擬可執(zhí)行目錄,可執(zhí)目錄同一個盤里面有一個后綴名為“.bat”的

    非可執(zhí)行(一般的.EXE文件)文件,不需要是真實的BAT文件。這點可以突破可執(zhí)行虛

    擬目錄所在盤沒有系統(tǒng)文件的情況。至于這個BAT文件那就得靠運氣或者試試跟目錄下

    面的“autoexec.bat”或者有些頁面有計數(shù)器,計數(shù)器可以指定計數(shù)器文件名,沒有文

    件自動建立一個。

最新文章