终极防范上传漏洞
发布时间: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
之类的“狗屎”文件!


猜你喜欢
- 由中国互联网协会、中国投资网联合主办的2009WEBGAME与SNS社区运营大会于11月7日圆满闭幕,经过三个多月的游戏征集、系列生态采访和
- 在我看来,站长TOP3的 落伍者 站长网 站长站[我不大去,因此不发表言论] 掌门人都各具特色.今天突然兴起,居然硬把 鱼和 图王 往一起凑
- 115网络U盘(http://u.115.com)是由雨林木风在今年5月推出的一款免费网络数据存储服务,该服务面市不久就获得了众多网民的热捧
- 今天网站在打开时发现提示 501 Method Not Implemented to /index.html not supported.了
- google和金山词霸合作了。看重的是金山词霸3kw的用户。google表示这三千万的用户,可以直接成为google的搜索用户。他们认为这个
- asp之家注:百度做为最具影响力的中文搜索引擎,做为个人站长都想通过百度来给自己的网站带来流量,特别是新站,因为没人知道你的网站,你也不可能
- 二、解决非人性化问题:当然我们不可能将自己的系统更改成windows XP系统,毕竟单位服务器需要服务器版操作系统。那么我们如何设置远程桌面
- 北京时间10月12日消息,据国外媒体报道,微软公司今日表示,由其负责提供软件运维的T-Mobile运营的Sidekick手机服务,遭遇了技术
- 一般来说我们采用手动备份VPS中的网站就可以了。一般老左喜欢1周备份一次网站,这样的频率应该还算是不错的,对于昨天分享的”数据库/网站文件自
- Discuz!NT即将推出最新的版本。从官方了解到,作为康盛创想(Comsenz)旗下的核心产品,Discuz! NT 3.0将携带四大功能
- 对于大多数Web站点来说,有匿名访问或基本认证就足够了,或者干脆只保留匿名访问形式。在有些地方,最简单的往往是最有效的!8、为IIS5中的文
- 本文实例讲述了Linux环境ActiveMQ部署方法。分享给大家供大家参考,具体如下:ActiveMQ环境部署下载地址:http://act
- Apache的mod_rewrite是提供了强大URL操作的杀手级的模块,可以实现几乎所有你梦想的URL操作类型,其代价是你必须接受其复杂性
- 在“Linux 文件命令精通指南”中,我们讨论了利用最基础和最常用 Linux 文件命令所需的基本信息。在本文中,我将对 Linux 系统命
- 最近在研究Linux下Firewall的配置,发现配置好防火墙以后ftp就有问题了,一直都不能够用Filezilla 和 CuteFTP登录
- WordPress 的页面管理功能长期以来并不讨用户或开发社区的好,以下8个页面管理插件适合于 WordPress 2.5 版,可以用来改变
- 新手站长,做站前一定要明确自己的站点主题是什么,即要清楚自己的站大方向是什么。还是一句老话,新站起步,别好高骛远!别想着一步登天,做综合类站
- 在一个日本留学生的博客上看到她新写的日记,写的是在日本设计公司工作的小片段,很有意思,跟大家分享一下。原文链接在此。------------
- 随着Internet技术的飞速发展,Web技术得到广泛应用。而安全问题一直都是Internet的一个薄弱环节,任何连接到Internet或者
- 月光博客最擅长这个,我们来看看月光最近的这类帖子:十个常用的S60手机软件十大经典JAVA手机游戏8个有用的WP的SQL语句十个避免RSS订