终极防范上传漏洞!
来源:互联网 发布:华语流行音乐 知乎 编辑:程序博客网 时间:2024/05/22 04:25
其实无论是组件还是非组件上传,都有这个漏洞,以下代码请需要得朋友仔细阅读,只要读懂代码就能融会贯通。
这里以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
之类的“狗屎”文件!
- 终极防范上传漏洞!
- ASP终极防范上传漏洞
- ASP终极防范上传漏洞
- 终极防范SQL注入漏洞
- 终极防范SQL注入漏洞
- 终极防范SQL注入漏洞
- 终极防范SQL注入漏洞!
- 终极防范SQL注入漏洞
- 终极防范SQL注入漏洞
- asp终极防范SQL注入漏洞
- ASP上传漏洞终极解决方案
- ewebeditor编辑器上传漏洞防范方法
- web安全之文件上传漏洞攻击与防范方法
- web安全之文件上传漏洞攻击与防范方法
- web安全之文件上传漏洞攻击与防范方法
- web安全之文件上传漏洞攻击与防范方法
- ASP注入终极防范!
- 防范SQL注入漏洞
- 且将新火试新茶 - MySQL Benchmark(全文)
- QM Master Data
- 纪念逝去的2008年
- ASP教程:过滤HTML代码并截取
- 长文章分页显示思路及页码条显示新思路
- 终极防范上传漏洞!
- JSTL 《fmt:formatDate》
- JS+ASP打造无刷新新闻列表
- 与Google轻轻地擦肩而过
- 无聊时用动态原型改写的一个不间断向上滚动
- 可以保值的3级 省、市、区联动下拉框
- 有一天我们可不可以这样相爱……
- 终极防范SQL注入漏洞!
- 无组件生成验证码-BMP格式