网站运营
位置:首页>> 网站运营>> 终极防范上传漏洞

终极防范上传漏洞

  发布时间:2007-10-07 12:29:00 

标签:上传,安全,漏洞

其实无论是组件还是非组件上传,都有这个漏洞,以下代码请需要得朋友仔细阅读,只要读懂代码就能融会贯通。

这里以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

之类的“狗屎”文件!


0
投稿

猜你喜欢

  • 其实这个也没有什么可以改的,因为以前的也能用,不过局限性太小,现在,在代码里面用一个函数来获取表单所有数据来构造URL,避免一些不必要的麻烦
  • 您是否曾在查看报告时发现您展示的广告获得了一些点击次数,但却没有得到相应的收入?发布商经常就此问题向我们发送电子邮件或在我们的支持论坛上进行
  • 老谢研究网站推广很多年了,SEO是个很不错的推广。站长们研究SEO兴趣也很高,这很好,因为SEO可以直接的为你网站带来流量。但是老谢认为我们
  • 在点石看了KYW的中国SEOer的级别,觉得很有趣,于是想写一篇中国网络赚钱的级别。和KYW不同的是他是高手可以站在一个很高的层面看待各类人
  • 当初百度把自己的搜索外延拓展到日本市场的时候,很多人都不以为然,觉得百度的市场还是在国内,但是国内搜索市场的利润空间实在让李彦宏不能满意。扬
  • Content Design(内容设计)即涉及产品需求也涉及到(产品和用户)互动过程中的具体环节。大多数团队中只有PM才会涉及到相关工作,一
  • asp之家注:上周末在家看电视时遥控正好转到湖南卫视,听到一个人在唱周杰伦的《霍元甲》,立刻停止了转台,可惜只听到最后的一小段,唱得还不错(
  • 越来越多研究Goolge排名的SEO人发现,Google的排名算法现在越来越倾向于增加用户在网站上的行为模式。比如说他们在网站上停留多久?他
  • ICANN正在推进新通用顶级域名(gTLD)推广计划,在2010年第一季度开放申请。ICANN将修改互联网通用顶级域名的申请规则,将之前严格
  • 一次在网上闲逛,突然看到论坛有一条消息说有一种方法,可以让已经关闭的Linux机器继续运行ipchains,并且让这台机器继续实现防火墙的功
  • 除了在未来互联网是否会完全取代传统媒体这个话题炙手可热之外,收费和免费的话题也是再掀波澜。记得马云说过,免费是最贵的服务,我想其中应该是一语
  • 目前,利用网上随处可见的攻击软件,攻击者不需要对网络协议的深厚理解基础,即可完成诸如更换Web网站主页,盗取管理员密码,数据库注入和破坏整个
  • 声明:以下是我个人总结的关于关键词分析的原则,有可能大家会觉得比较肤浅,说的不够明白。也可能认为都是别人说过的千篇一律的东西,是的,真理是相
  • 在过去的几年中,越来越多的黑客、病毒和蠕虫带来的安全问题严重影响了网站的可访问性,尽管Apache服务器也常常是攻击者的目标,然而微软的In
  • 前文所述SVN客户端使用的时候,用的SVN服务器通常为外部,例如Google Code的服务器,不过,做为一个程序开发人员,就算自己一个人写
  • 【搜狐IT消息】(文/雷风)6月25日,原微软中国总裁、盛大网络总裁唐骏在接受搜狐IT采访时对比尔·盖茨进行了评价,并回顾了与盖茨交往中难忘
  • 从系统安装到用户安全设置、系统权限设置三方面进行讲解Web服务器防木马及漏洞攻击的权限配置,希望通过这篇文章可以让你的服务器更加安全。一、系
  • 在 beta3 的时候,我用 hd.img 制作了一张引导软盘,并且用 iso 文件来安装。这次,我准备变换一种方式,不用再制作软盘了。 上
  • 一、遵循W3C规范W3C是英文 World Wide Web Consortium 的缩写,中文意思是W3C理事会或万维网联盟。W3C于19
  • typecho 是一个轻量级的PHP博客程序,猫一直在用,试了一下,挺有亲和力,后台界面是我喜欢的那种,代码也很简洁易读,速度比WP相比,一
手机版 网站运营 asp之家 www.aspxhome.com