站長在使用eWebEditor的時候是否發現,eWebEditor配置不當會使其成為網站中的隱形炸彈呢?第一次發現這漏洞源於去年的一次入侵,在山窮水盡的時候發現了eWebEditor,於是很簡單就獲得了WebShell。後來又有好幾次利用eWebEditor進行入侵的成功經歷,這才想起應該寫一篇文章和大家共享一下,同時也請廣大已經使用了eWebEditor的站長趕緊檢查一下自己的站點。要不然,下一個被黑的就是你哦!
漏洞利用
利用eWebEditor獲得WebShell的步驟大致如下:
1.確定網站使用了eWebEditor。一般來說,我們只要注意發表帖子(文章)的頁面是否有類似做了記號的圖標,就可以大致做出判斷了。
2.查看源代碼,找到eWebEditor的路徑。點擊“查看源代碼”,看看源碼中是否存在類似“<iframe ID='eWebEditor1' src='/edit/ewebeditor.asp?id=content&style=web' frameborder=0 scrolling=no width='550' HEIGHT='350'></iframe>”的語句。其實只有發現了存在這樣的語句了,才可以真正確定這個網站使用了eWebEditor。然後記下src='***'中的“***”,這就是eWebEditor路徑。
3.訪問eWebEditor的管理登錄頁面。eWebEditor的默認管理頁面為admin_login.asp,和ewebeditor.asp在同一目錄下。以上面的路徑為例,我們訪問的地址為:http://www.***.net/edit/admin_login.asp,看看是否出現了登錄頁面。
如果沒有看到這樣的頁面,說明管理員已經刪除了管理登錄頁面,呵呵,還等什麼,走人啊,換個地方試試。不過一般來說,我很少看到有哪個管理員刪了這個頁面,試試默認的用戶名:admin,密碼:admin888。怎麼樣?成功了吧(不是默認賬戶請看後文)!
4.增加上傳文件類型。點擊“樣式管理”,隨便選擇列表中底下的某一個樣式的“設置,為什麼要選擇列表中底下的樣式?因為eWebEditor自帶的樣式是不允許修改的,當然你也可以拷貝一個新的樣式來設置。
然後在上傳的文件類型中增加“asa”類型。
5.上傳ASP木馬,獲得WebShell。接下來將ASP木馬的擴展名修改為asa,就可以簡單上傳你的ASP木馬了。不要問我怎麼上傳啊,看到 “預覽” 了嗎?點擊“預覽”,然後選擇“插入其它文件”的按鈕就可以了。
漏洞原理
漏洞的利用原理很簡單,請看Upload.asp文件:
任何情況下都不允許上傳asp腳本文件
sAllowExt = Replace(UCase(sAllowExt), "ASP", "")
因為eWebEditor僅僅過濾了ASP文件。記得我第一次使用eWebEditor時就在納悶:既然作者已經知道asp文件需要過濾,為什麼不同時過濾asa、cer等文件呢?也許這就是對免費用戶不負責任的表現吧!
高級應用
eWebEditor的漏洞利用還有一些技巧:
1.使用默認用戶名和密碼無法登錄。
請試試直接下載db目錄下的ewebeditor.mdb文件,用戶名和密碼在eWebEditor_System表中,經過了md5加密,如果無法下載或者無法破解,那就當自己的運氣不好了。
2.加了asa類型後發現還是無法上傳。
應該是站長懂點代碼,自己修改了Upload.asp文件,但是沒有關系,按照常人的思維習慣,往往會直接在sAllowExt = Replace(UCase(sAllowExt), "ASP", "")一句上修改,我就看見過一個站長是這樣修改的:
sAllowExt = Replace(Replace(Replace(Replace(Replace(UCase(sAllowExt), "ASP", ""), "CER", ""), "ASA", ""), "CDX", ""), "HTR", "")
猛一看什麼都過濾了,但是我們只要在上傳類型中增加“aaspsp”,就可以直接上傳asp文件了。呵呵,是不是天才的想法?“aaspsp”過濾了“asp”字符後,反而變成了“asp”!順便告訴大家一個秘密,其實動網論壇7.0 sp2中也可以利用類似的方法繞過對擴展名的過濾。
3.上傳了asp文件後,卻發現該目錄沒有運行腳本的權限。
呵呵,真是好笨啊,上傳類型可以改,上傳路徑不是也可以修改的嗎?仔細看看圖四。
4.已經使用了第2點中的方法,但是asp類型還是無法上傳。
看來站長肯定是一個寫asp的高手,但是我們還有最後一招來對付他:看到圖三中的“遠程類型”了嗎?eWebEditor能夠設定自動保存遠程文件的類型,我們可以加入asp類型。但是如何才能讓遠程訪問的asp文件能夠以源碼形式保存呢?方法是很多的,最簡單的方法是將IIS中的“應用文件映射”中的“asp”刪除。
後記
根據自己的經驗,幾乎只要能進入eWebEditor的後台管理,基本上都可以獲得WebShell。在Google上搜索“ewebeditor.asp?id=”能夠看到長達十多頁的相關信息,我大致抽查了其中幾個,發現成功率約為50%。還不錯吧?oblg 2.52版以前的版本也是使用eWebEditor,可以去搜索幾個來練練手。要命的是eWebEditor的官方網站和幫助文件中根本沒有這方面的安全提示。還有,我發現官方提供的測試系統並不存在類似的漏洞,看來不是他們不知道,而是沒有把免費用戶的網絡安危放在心上!