本页内容是《ASP终极防范上传漏洞》同时我们还提供济宁地区的网站建设,百度,雅虎,google的推广,点金,商友,等营销软件
请输入关键字:

标题搜索 内容搜索  

你现在所在的位置->首页->网站安全->ASP终极防范上传漏洞

ASP终极防范上传漏洞

时间:[2008-2-27 9:14:37]     作者:请作者尽快与我们联系。

 apollosun 原创
  
  其实无论是组件还是非组件上传,都有这个漏洞,以下代码请需要得朋友仔细阅读,只要读懂代码就能融会贯通。
  
  这里以ASPUPLOAD组件上传为例
  
  以下3个关键函数:
  
  function killext(byval s1) '干掉非法文件后缀
  dim allowext
  allowext=".JPG,.JPEG,.GIF,.BMP,.PNG,.SWF,.RM,.MP3,.WAV,.MID,.MIDI,.RA,.
  AVI,.MPG,.MPEG,.ASF,.ASX,.WMA,.MOV,.RAR,.ZIP,.EXE,.DOC,.XLS,.CHM,.HLP,.PDF"
  s1=ucase(s1)
  if len(s1)=0 then
   killext=""
  else
   if not chk(allowext,s1,",") then
   killext=".shit"
   else
   killext=s1
   end if
  end if
  end function
  
  function chk(byval s1,byval s2,byval fuhao) '检查字符串包含
  dim i,a
  chk=false
  a=split(s1,fuhao)
  for i = 0 to ubound(a)
   if trim(a(i))=trim(s2) then
   chk=true
   exit for
   end if
  next
  end function
  
  function gname(byval n1) '以日期自动产生目录和文件名,参数1生成目录,参数2生成文件名(无后缀)
  dim t,r
  t=now()
  randomize(timer)
  r=int((rnd+1-1)*9999)
  select case n1
  case 1
  gname=year(t)&right("00"&month(t),2)&right("00"&day(t),2)
  case 2
  gname=right("00"&hour(t),2)&right("00"&minute(t),2)&right("00"&second(t),2)&right("0000"&r,4)
  end select
  end function
  
  调用方法:
  
  dim oup,ofile,ext,myfile
  
  Set oup = Server.CreateObject("Persits.Upload")
  oup.SetMaxSize 10000000, True
  call oup.Save() '这里是上传到服务器内存,并没有实际文件产生
  set ofile = oup.files(1)
  ext=killext(ofile.ext)
  
  myfile="/" & ganme(1) & "/" & gname(2) & ext
  
  call ofile.saveas(server.mappath(myfile))
  
  
  
  附加说明:
  
  黑客如果用 nc 上传非法文件,最终得到的文件只是
  
  如 200511051234559103.shit
  
  之类的“狗屎”文件!
  
  
  转自:动态网制作指南 www.knowsky.com
    做人要厚道,请注明转自酷网动力(www.ASPCOOL.COM)。

【声明】本站刊载的《ASP终极防范上传漏洞》一文如果有侵害你权益的情况,请联系我们。我们将及时采取措施。
QQ:44637339 Email:just6@163.com Tel:13355163107 Lining studios

友情链接

本页内容是《ASP终极防范上传漏洞》 返回顶部
© 2001-2024 Lining studios 济宁速创科技有限公司, All Rights Reserved
 Processed Time:46.875ms
中华人民共和国信息产业部网站备案号: 鲁ICP备09103015号-1