IT技术精粹[JiShuBu.Com]-倾力打造一流IT技术平台!
  • 登录
  • 注册
  • 设为首页
  • 加入收藏
  • 网站首页
  • IT风向标
  • 网站优化
  • Html
  • CSS
  • JavaScript
  • ASP
  • Php/Mysql
  • Flash
  • Ajax
  • 源码下载
  • 精美桌面
  • 供求信息
  • 超稳定100M虚拟主机只要100元,还送50M邮箱!
  • 文字广告招商中...
  • 会员注册 | 用户登录 | 我要投稿
  • 信息订阅
ASP终极防范上传漏洞 您现在正在浏览:首页 > ASP > 
ASP终极防范上传漏洞

作者:apollosun 发布时间:2008-04-06 00:26:17 来源:互联网
   
  其实无论是组件还是非组件上传,都有这个漏洞,以下代码请需要得朋友仔细阅读,只要读懂代码就能融会贯通。
  
  这里以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)。
  
【评论】【加入收藏夹】【大 中 小】【打印】【关闭】
※ 相关信息
 ·Javascript+ASP打造无刷新新闻列表  (2008-02-15 23:25:27)
 ·第四章 asp网络编程---ASP中实现分页显示的七种武器  (2008-01-19 18:00:51)
 ·第四章 asp网络编程---Asp及Web开发中的常见问题  (2008-01-19 17:56:21)
 ·第四章 asp网络编程---在服务器端控制网页  (2008-01-19 17:41:59)
 ·第四章 asp网络编程---创建移动Web应用程序  (2008-01-19 17:39:46)
 ·asp实现语音上传  (2008-01-16 22:43:04)
 ·破解网站发布系统 ASP生成静态页面方法  (2008-01-16 22:39:59)
 ·第四章 asp网络编程---用ASP实现网页BBS  (2008-01-10 22:24:00)
 ·第四章 asp网络编程---用ASP编写下载网页中所有资源的程序  (2008-01-10 22:23:07)
 ·第四章 asp网络编程---用ASP编程实现网络内容快速查找  (2008-01-10 22:22:02)

发表评论
查看评论 
用户名: 密码:
验证码: 匿名发表
[注册帐号]
[控制面板]
[用户登陆]
[修改资料]
[用户收藏]
[我的状态]
[退出登陆]
 
文章搜索
     
    [添加文章]   [管理文章]
最新技术文档
    ·中国移动188号段将于1月8日起在深圳正式放号
    ·PHP与Javascript的两种交互方式
    ·使用wordpress中的函数 (PHP)
    ·js倒计时效果-精确到秒 (Javascript)
    ·PHP无刷新删除数据
    ·PHP文件系统处理类
    ·PHP文件缓存数据类
    ·PHPMailer邮件类利用smtp.163.com发送邮件方
    ·PHP的POST方式
    ·md5 结合 crypt =无敌密码
技术文档排行榜
    ·天气预报小偷,根据IP自动判断地址
    ·超经典计算机使用问题105答
    ·CSS网页布局入门教程:下拉及多级弹出式菜单
    ·'AjaxPro'未定义错误的原因&javascript顺
    ·[初学者必读]网页制作之HTML基础知识
    ·DIV&CSS打造自动伸展三栏复合布局
    ·近1000本javascript电子图书下载列表
    ·CSS 文字樣式技巧 (摘自一台湾网站,确实很
    ·阿里妈妈广告的投放技巧
    ·ajax+php无刷新二级联动下拉菜单(省市联动)
关于站点 - 广告服务 - 联系我们 - 免责声明 - 程序支持 - 网站地图 - 留言中心 - 返回顶部

Copyright © 2007-2008 www.Jishubu.com online services. All rights reserved. Template designed by laogui.
违法不良信息举报中心 津ICP备07002356号