首页 园地图库文章列表留言下载
现在位置:首页 -> 网络科技 -> 网络攻防
动力3.51存在文件上传漏洞
作者:站长 来源:网上收集 更新日期:2005-8-15 阅读次数
文字 〖 自动滚屏(右键暂停)

 经测试,动力3.51同样存在着严重漏洞,请使用者尽快打补丁

昨天看了 redsen 发的帖子:
dispbbs.asp?boardid=34&star=1&replyid=46493&id=55222&skin=0&page=1

我下了个该自由动力,测试了下,果然如此。

后来又想,动力3.51会不会同样存在该漏洞呢?查看了下Upfile_Soft.asp代码,结果是一样存在上传漏洞。

为了证明结论正确性,我在搜索引擎里找了下,结果MyPower Ver3.51 站点出来一大堆,随便找了个测试,下面是详细过程,为了避免不必要麻烦,已经屏蔽图片中的网址,请读者见谅:

用到的工具:WinSock Expert 、UltraEdit、NC和ASP后门

1,注册用户名 test111,进入 个人信息控制面板


此主题相关图片如下:
按此在新窗口浏览图片

此主题相关图片如下:
按此在新窗口浏览图片

2,开启WinSock Expert 监视,并且随便上传个ASP后门,结果是“无法上传,…”,预料中的事,没关系:
此主题相关图片如下:
按此在新窗口浏览图片

3,将WinSock Expert 捕获的数据,复制到文本文件,并且用UltraEdit修改其中的关键代码:filename="C:\test\webshell.asp"  ,webshell.asp后加:1个空格及.rm,然后修改16进制的20为00,Content-Length 长度增加4。


此主题相关图片如下:
按此在新窗口浏览图片

此主题相关图片如下:
按此在新窗口浏览图片

此主题相关图片如下:
按此在新窗口浏览图片

4,这时NC派上场了:

此主题相关图片如下:
按此在新窗口浏览图片

5,上传马成功,得到了个webshell:

此主题相关图片如下:
按此在新窗口浏览图片

此主题相关图片如下:
按此在新窗口浏览图片

此主题相关图片如下:
按此在新窗口浏览图片

最后说明下,本人没有破坏该网站的任何数据,并且测试完后,删除了全部木马,同时告诉了他们网站管理员。



修补此漏洞方法:

一,见dispbbs.asp?boardid=34&star=1&replyid=46493&id=55222&skin=0&page=1

此方法使得用户上传的文件全部按照程序自动命名。

修改Upfile_Soft.asp 代码 ,找到

  if FoundErr<>true then
   FileName=SavePath & ofile.FileName
   If IsObjInstalled("Scripting.FileSystemObject") Then
    dim fso
    set fso=CreateObject("Scripting.FileSystemObject")
    if fso.FileExists(Server.mappath(FileName)) then
     randomize
     ranNum=int(900*rnd)+100
     filename=
    end if
    set fso=nothing
   end if

   ofile.SaveToFile Server.mappath(FileName)   '保存文件

改为

  if FoundErr<>true then
     randomize
     ranNum=int(900*rnd)+100
     filename=SavePath&year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&ranNum&"."&fileExt

   ofile.SaveToFile Server.mappath(FileName)   '保存文件

即可解决。(此修改由网友coolsun提供)。

也就是删除如下内容:

FileName=SavePath & ofile.FileName
   If IsObjInstalled("Scripting.FileSystemObject") Then
    dim fso
    set fso=CreateObject("Scripting.FileSystemObject")
    if fso.FileExists(Server.mappath(FileName)) then
(有人提出是否安全了,本人没有对此进行测试,但从代码上分析,不再从本地获取文件名,而是按时间加随机数生成文件名,应该补上了漏洞)

二,我自己写了个过滤文件名的函数,测试可以防止上面的漏洞攻击,请高手看看有没有什么问题:

此方法可以保留用户上传的文件名。

Upfile_Soft.asp  找到

FileName=SavePath & ofile.FileName

下增加:


   '检查文件中是否含有非法字符
   FileName=ChkFileName(FileName)

然后在文件最尾部

%>

上增加:

'作  用:检查文件中是否含有非法字符,防止用户构造数据欺骗计算机
Function ChkFileName(FileName)
If IsEmpty(FileName) Then Exit Function
FileName = Lcase(FileName)
If Instr(FileName,".") <> InstrRev(FileName,".") Then
  msg="这种文件类型不允许上传!\n\n只允许上传这几种文件类型:" & UpFileType
  FoundErr=true
  strJS="<SCRIPT language=javascript>" & vbcrlf
  strJS=strJS & "alert('" & msg & "');" & vbcrlf
  strJS=strJS & "history.go(-1);" & vbcrlf
  strJS=strJS & "</script>" & vbcrlf
  Response.Write strJS
  Response.End
End If
ChkFileName = Replace(FileName,Chr(0),"")
End Function
%>

测试结果图:


此主题相关图片如下:
按此在新窗口浏览图片

上篇文章: 抗日战争资料
下篇文章:七夕礼物
相关文章:
  • QQ刷红钻漏洞
  • 入侵网站的各种漏洞的利用
  • sql语句密码验证安全漏洞
  • asp教程:第十九篇 最新的asp、iis安全漏洞
  • asp教程:第十八篇 堵住asp漏洞
  • 堵住asp漏洞
  • 最新的asp、iis安全漏洞
  • 安全入门:SQL注入漏洞全接触
  • Sql语句密码验证的安全漏洞
  • SQL注入天书 - ASP注入漏洞全接触
  • 跟我学TCP端口:作用,漏洞,操作详析
  • phpBB search.php SQL 远程注入漏洞导致权限提升
  • 如何对PHP程序中的常见漏洞进行攻击(下)
  • 如何对PHP程序中的常见漏洞进行攻击
  • PHP程序常见漏洞攻击宝典
  • Php程序常见漏洞攻击宝典 !
  • 版权所有:文摘园地;本站资料均由站长收集,如果有侵权,请立即来信留言告诉我们,以免损害您的权益,谢谢!
    Copyright © 2004 文摘园地 http://wwww.mmkey.com All Rights Reserved Power by:HeadWind
    粤ICP备05098767号