终极防范上传漏洞

时间: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
投稿

猜你喜欢

  • IT人才创业失败的16大原因

    2008-05-22 17:23:00
  • 博客内容组织策略

    2008-12-02 16:20:00
  • 微软证实Win 7上网本安装工具包含开源代码

    2009-11-14 09:58:00
  • 浪费资源无点点击 应对反盗链技术的途径

    2008-12-25 10:51:00
  • 详细测试 Linux比拼微软家庭服务器

    2010-03-24 18:56:00
  • 天涯推企业空间及ADTOP广告系统 促进规模盈利

    2009-11-27 17:01:00
  • FTP服务器如何实现安全性(上)

    2007-08-14 15:35:00
  • 优化百度比优化谷歌轻松得多 效果也好很多

    2009-02-05 12:42:00
  • Google Safe Browsing 的策略

    2009-12-11 12:43:00
  • 微博会给博客带来什么影响?

    2009-09-16 14:36:00
  • 优酷在京发布优酷指数 艾瑞提供数据支持

    2009-11-13 11:23:00
  • 快速分辨欺诈paypal

    2009-03-30 17:30:00
  • SEO,如何避免重复内容的出现

    2009-03-11 10:37:00
  • 三行代码解决全部网页木马

    2008-05-24 17:11:00
  • Google推出免费中秋节祝福短信服务

    2008-09-12 13:25:00
  • 泄露版Chrome OS骗人!只是谷歌浏览器

    2009-10-16 10:47:00
  • 谷歌新版Chrome Beta 添加新隐私保护功能

    2010-03-04 08:23:00
  • 如何设置GoDaddy主机帐户

    2010-05-01 13:14:00
  • 地方行业网站的发展新思路

    2007-10-02 19:27:00
  • 奇虎推360木马防火墙 宣称可为网民减损100亿

    2010-05-27 11:04:00
  • asp之家 网站运营 m.aspxhome.com