国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

ASP終極防范上傳漏洞

2019-11-18 19:07:20
字體:
來源:轉載
供稿:網友

apollosun 原創

其實無論是組件還是非組件上傳,都有這個漏洞,以下代碼請需要得朋友仔細閱讀,只要讀懂代碼就能融會貫通。

這里以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,.Zs1=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

之類的“狗屎”文件!


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 裕民县| 金川县| 延津县| 泸定县| 塘沽区| 清镇市| 濮阳市| 怀安县| 舞钢市| 乌兰县| 奇台县| 金秀| 永吉县| 嘉鱼县| 青铜峡市| 正蓝旗| 鲜城| 广宗县| 鹤庆县| 视频| 正安县| 古交市| 石城县| 布尔津县| 武宣县| 湖南省| 汽车| 隆子县| 郧西县| 商水县| 长岭县| 芜湖市| 澳门| 桃园市| 怀柔区| 康马县| 曲沃县| 上饶县| 西昌市| 南华县| 读书|