彻底杜绝ASP的上传漏洞
发布时间:2011/6/6 11:38这里以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之类的“狗屎”文件!
关于banner设计的话题相信之前已经有很多设计师发表过自己的经
于background不必多做说明了,如果不了解的可以单独论坛发帖。css
这里做了一个基于HTML5和CSS3的登录表单。实例代码使用到HTML5提供
前阵子做了个css3文字效果,涉及css3投影,渐变,蒙版,伪类等常识
说明:因为屏幕分辨率不同,想实现浏览器中的一个层随浏览器宽度高
你也许已经意识到,你可以通过指定每一键接的不同风格以建立C
再点选Filetype为.cpp,打开说话属性调解对话框,在使用CCS3.3写代
HTML教程如需学习更多有关HTML的内容,请阅读大家的HTML教程。如需
W3C是什么?W3C指万维网联盟(WorldWideWebConsortium)W3C创建于
网站主机的类型有:免费主机、虚拟(分享的)主机或独享主机。免费
一.影响PR的因素影响网站PR最主要的因素是网站的外部链接.当你的网
建网站的投入可是很大的。首先是申请免费个人主页空间(当然也可以
一、网站制作的主题 这些计划中规划好网站的主题。为网站创建一
Intranet、Internet服务器具有相同的名称,运行原理与操作系统相似
很多朋友问我,如何制作网页,类似这样的问题很多。大家这里就再次
网页听起来似乎是一个很难懂的概念,极其抽象,看得见摸不着。但是
写在前面的话:大家不要把那些挂黑页挂马的黑客想得太利害了,利害的
!DOCTYPEhtmlPUBLIC-//W3C//DTDXHTML1.0Transitional//ENhttp://w
诸如之类的符号在HTML中拥有特殊的含义,所以在文本中使用它们。为
您是否有过这样的经历,当你看到一个很棒的站点,你会很想知道开发