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

首頁 > 編程 > ASP > 正文

徹底杜絕ASP的上傳漏洞

2024-05-04 11:07: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之類的“狗屎”文件!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 巴青县| 根河市| 积石山| 文化| 孝感市| 夏邑县| 天柱县| 武安市| 新乡市| 师宗县| 北流市| 宁陕县| 视频| 措勤县| 三江| 外汇| 九龙城区| 班玛县| 察雅县| 栾川县| 和平区| 灵台县| 垦利县| 乃东县| 北宁市| 蒲城县| 昌吉市| 兴隆县| 延庆县| 易门县| 钦州市| 汝州市| 新津县| 乳源| 新源县| 商城县| 宜良县| 新闻| 静海县| 繁昌县| 鹤山市|