반응형
웹으로 FTP를 이용해서 파일 업로드/다운로드 할 수 있는 기능인데.
Webshell이나 ASPExec 같은 것들은 보안이나 권한등의 문제가 생길 수 있으므로.... FTP를 이용해서 하는 방법.
첨부된 DLL을 regsvr32 aspftp.dll 을 이용해서 먼저 등록해준다.
그리고 나서 아래의 소스를 이용해서 File Upload/Download를 진행하면 된다.
<%
ACCESS_TYPE_PRECONFIG = 0
ACCESS_TYPE_DIRECT = 1
ACCESS_TYPE_PROXY = 2
TRANSFER_TYPE_ASCII = 1
TRANSFER_TYPE_BINARY = 2
FILE_ACCESS_WRITE = 1
FILE_ACCESS_READ = 2
ATTRIBUTE_READONLY = 1
ATTRIBUTE_HIDDEN = 2
ATTRIBUTE_SYSTEM = 4
ATTRIBUTE_DIRECTORY = 16
ATTRIBUTE_ARCHIVE = 32
ATTRIBUTE_NORMAL = 128
ATTRIBUTE_TEMPORARY = 256
ATTRIBUTE_COMPRESSED = 2048
ATTRIBUTE_OFFLINE = 4096
Function ftpUpload(sourceFile, copyFile) ' Upload Function
Dim objFTP
Dim strMsg
Set objFTP = Server.CreateObject("NIBLACK.ASPFTP")
objFTP.sServerName = "server"
objFTP.sUserID = "id"
objFTP.sPassword = "password"
objFTP.bPassiveMode = False 'True 'Passive Mode
If objFTP.bConnect Then
objFTP.lTransferType = TRANSFER_TYPE_ASCII
If objFTP.bPutFile(sourceFile, copyFile) Then ' Success
strMsg = "Put Successful!"
Else
strMsg = "Put Failed: " & objFTP.sError ' Fail
End If
Else
strMsg = "Connection Failed: " & objFTP.sError
End If
Set objFTP = Nothing
ftpUpload = strMsg
End Function
Function ftpDownload(sourceFile, copyFile) ' Download Function
Dim objFTP
Dim strMsg
Set objFTP = Server.CreateObject("NIBLACK.ASPFTP")
objFTP.sServerName = "server"
objFTP.sUserID = "id"
objFTP.sPassword = "password"
If objFTP.bConnect Then
objFTP.lTransferType = TRANSFER_TYPE_ASCII
If objFTP.bGetFile(copyFile, sourceFile) Then ' Success
strMsg = "Get Successful!"
Else
strMsg = "Get Failed: " & objFTP.sError ' Fail
End If
Else
strMsg = "Connection Failed: " & objFTP.sError
End If
Set objFTP = Nothing
ftpDownload = strMsg
End Function
' FTP FILE UPLOAD
ftpUploadResult = ftpUpload("C:\uploadfile.txt","Folder\uploadFile.txt")
' FTP FILE DOWNLOAD
ftpDownloadResult = ftpDownload("Folder\uploadFile.txt","C:\uploadfile.txt")
%>
' FTP FILE UPLOAD
ftpUploadResult = ftpUpload("C:\uploadfile.txt","Folder\uploadFile.txt")
이 소스에서 Folder를 지정하지 않으면 FTP 설정 Root에 저장된다.
aspftp.dll
반응형