当心被黑 慎用eWebEditor在线编辑器2006-07-27 10:08:27 来源:IT168.com 作者: 点击:
![]()
eWebEditor在线编辑器可以设置上传路径,极大的方便了建站工作者,不过其过滤不严格,导致我们可以利用它浏览整个网站目录或者跳到其它目录并且可以删除服务器文件。漏洞文件admin_style.asp相关代码如下: If sStyleUploadDir = "" Or Get_TrueLen(sStyleUploadDir) > 50 Then 对上传路径判断了不能为空且不能超过50个长度字符,并且用了IsSafeStr()函数进行检测,IsSafeStr()函数在Include/Startup.asp文件中代码如下: Function IsSafeStr(str) 过滤了许多特殊字符,但是没有过滤脚本攻击中经常用到的跳转目录的"../"或者直接转到网站根目录的"/"字符。简单说下利用方法,拷贝一份样式进行设置,将其上传路径设置为"/",如图7:
提交之后点上传文件管理选择刚才设置的样式就可以看到网站根目录的文件并且可以删除文件与文件夹了,如图8:
再把上传路径修改为../这样子的试下就可以进行目录跳转了,如果你的服务器有这样的漏洞,你说恐怖不恐怖? 5. 后台验证漏洞 该功能组件后台页面都调用Admin_Private.asp进行验证是否是合法访问,代码如下: If Session("eWebEditor_User") = "" Then 只是简单的判断了Session("eWebEditor_User")是否为空,为空则返回登录页面,如果该网站在虚拟机上,在另一个网站有一个文件有如下代码: Session("eWebEditor_User") = "lovexyskyhaha"那么我们访问该文件之后再访问eWebEditor的后台相关页面,我们就是合法用户了,当然可以进行相关的后台操作啊。 漏洞修补 1.针对默认账号密码漏洞当然是修改一下默认的admin账号密码了,后台有这个功能的,就不要偷懒了。 2.针对默认数据库漏洞当然是修改一下默认的数据库名称或者路径,可以考虑防下载处理,另外账号密码不要太简单,防止暴破出来。 3.针对上传漏洞的修补大家很可能是把asp、cer、asa、cdx等通通加进去过滤一番,其实sAllowExt = Replace(UCase(sAllowExt), "ASP", "")这样子过滤我们还可以在上传图片类型里加一个aaspsp格式,这样经过replace函数过滤后的格式正好是asp,其它的同理。另外如果网站支持.NET攻击者也可能上传aspx格式的木马或者支持php的系统上传一个php木马,这个就看具体情况啦,个人认为像这样的上传漏洞如果可能最好严格限定图片上传格式,即限定为只能为哪些格式,而不是单个的过滤asp这些危险的格式;另外最好对上传后生成的图片文件的格式再进行检测,如果非法就进行处理,这个看程序员的个人爱好了。 4.针对上传路径过滤不严漏洞解决方法当然是再过滤一下啊,但是如果在IsSafeStr()函数里把"/"过滤掉了以后上传路径设为UploadFile/也会报错的,所以还是在admin_style.asp文件里判断是否为"/"或者是跳转目录的"../",这样比较保险。 |