免费杀毒软件,全面病毒解决方案

投递文章  投稿指南 金山毒霸非官方通告:
搜索: 您的位置毒霸首页>安全防护>安全书籍>阅读资讯:动易网站管理系统删除任意文件漏洞

动易网站管理系统删除任意文件漏洞

2008-04-13 06:39:18   来源:   作者:   【 评论:0
这个漏洞对于动易网站管理系统来说,就是致命的了。
此漏洞存在于User目录下的User_saveflash.asp文件中,其第6~22行代码如下所示。

这个漏洞对于动易网站管理系统来说,就是致命的了。
此漏洞存在于User目录下的User_saveflash.asp文件中,其第6~22行代码如下所示。

Dim act, ObjInstalled_FSO, color_name, Create_1, imgurl, SaveFileName, dirMonth

objName_FSO = Application("objName_FSO")

ObjInstalled_FSO = IsObjInstalled(objName_FSO)

If ObjInstalled_FSO = True Then

Set fso = Server.CreateObject(objName_FSO)

Else

Response.Write "&&SendFlag=保存 >>> NO"

Response.end

End If

act = trim(request("act"))

//这里是关键

If act="" Then

Call Main()

Else

  Call CoverColorFile()

  //如果act不为空,则调用CoverColorFile()函数

End If

set fso = Nothing

下面我们一起来看看函数CoverColorFile()的代码。

Sub CoverColorFile()

//此函数用于生成图像BMP文件

  Dim whichfile, head, Colortxt, i, rline, badwords

  //注意whichfile变量

Response.Expires = -9999

Response.AddHeader "Pragma","no-cache"

Response.AddHeader "cache-ctrol","no-cache"

Response.ContentType = "Image/bmp"

//输出图像文件头

head = ChrB(66) & ChrB(77) & ChrB(118) & ChrB(250) & ChrB(1) & ChrB(0) & ChrB(0) & ChrB(0) &_

ChrB(0) & ChrB(0) & ChrB(54) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(40) & ChrB(0) &_

ChrB(0) & ChrB(0) & ChrB(172) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(130) & ChrB(0) &_

ChrB(0) & ChrB(0) & ChrB(1) & ChrB(0) & ChrB(24) & ChrB(0) & ChrB(0) & ChrB(0) &_

ChrB(0) & ChrB(0) & ChrB(64) & ChrB(250) & ChrB(1) & ChrB(0) & ChrB(0) & ChrB(0) &_

ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) &_

ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0)

  Response.BinaryWrite head

  whichfile=trim(request("color_url"))

  // whichfile由用户提交的color_url而来

  Set Colortxt = fso.OpenTextFile(server.mappath(whichfile),1)

  //以只读方式打开用户提交的变量whichfile,这里取得的是文件

rline = Colortxt.ReadLine //读取文件一行

badwords = split(rline,"|") //以“|”作分隔

Colortxt.Close

  fso.deleteFile(server.mappath(whichfile))

   //这句就是漏洞了,此句的作用是删除文件。由于whichfile由用户提交而来,又没有经过任何安全处理,所以便构成漏洞了。如果我们让  color_url=../conn.asp,那么就直接删除conn.asp文件了,同样,我们可以让color_url为站内任一文件,最后,我们 可以删除全站的文件。

for i=0 to UBound(badwords)

Response.BinaryWrite to3(badwords(i))

next

End Sub

有了上面的漏洞,我们就一起去测试一下官方网站,看看是否存在此漏洞吧。打开官方演示网站,如图1所示,我们就以动易的Logo作测试吧。查看其路径,发现在images目录下,名为logo.gif,

现在,我们注册一个用户,然后进入会员中心,在URL处填入:。
成功提交之后,返回到首页,现在我们可以看到,官方仍然存大此重大漏洞。官方logo.gif处变成了一个红叉,说明已被删掉。

解决办法为最好不要从外部接收数据,要么就删除代码:fso.deleteFile(server.mappath(whichfile))


Tags:  
责任编辑:
  • 请文明参与讨论,禁止漫骂攻击。 用户名:新注册) 密码: 匿名:
    评论总数:0 [ 查看全部 ] 网友评论
    关于我们 - 联系我们 - 广告服务 - 法律声明 - RSS订阅 - 网站地图 - 返回顶部 -