반응형
웹으로 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에 저장된다.
반응형