403Webshell
Server IP : 103.118.17.23  /  Your IP : 216.73.216.169
Web Server : Microsoft-IIS/10.0
System : Windows NT RESELLERPLESK22 10.0 build 20348 (Windows Server 2016) AMD64
User : IWAM_plesk(default) ( 0)
PHP Version : 7.4.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  E:/Inetpub/vhosts/mesa.org.in/httpdocs/panel/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : E:/Inetpub/vhosts/mesa.org.in/httpdocs/panel/ewupload.asp
<%@ CodePage="65001" %>
<%
Response.Buffer = EW_RESPONSE_BUFFER
%>
<!--#include file="ewcfg.asp"-->
<!--#include file="aspfn.asp"-->
<!--#include file="userfn.asp"-->
<%
Dim upload
Set upload = New cFileUpload
Call upload.Page_Main

'
' Page class for file upload
'
Class cFileUpload

	' Page ID
	Dim PageID

	' Project ID
	Dim ProjectID

	' Page object name
	Dim PageObjName

	' Table
	Dim UploadTable

	' Page name
	Public Function PageName()
		PageName = ew_CurrentPage()
	End Function

	' Page URL
	Public Function PageUrl()
		PageName = ew_CurrentPage() & "?"
	End Function

	' Initialize
	Private Sub Class_Initialize()
		PageID = "upload"
		ProjectID = "panel"
		PageObjName = "upload"
	End Sub

	' Main
	' Uncomment '** for database connectivity / Page_Loading / Page_Unloaded server event
	Sub Page_Main()
		Set Language = New cLanguage

		'**Set Conn = ew_GetConn(0)
			' Global Page Loading event (in userfn*.asp)
			'**Call Page_Loading
		' Handle download file content

		If Request.QueryString("download").Count > 0 Then
			Call DownloadFileContent

		' Handle delete file
		ElseIf Request.QueryString("delete").Count > 0 Then
			Call DeleteFile

		' Handle download file list
		ElseIf Request.QueryString("id").Count > 0 Then
			Call DownloadFileList

		' Handle upload file (multi-part)
		ElseIf Request.TotalBytes > 0 Then
			Call UploadFile
		End If

		' Global Page Unloaded event (in userfn*.asp)
		'**Call Page_Unloaded
		' Close connection
		'**Call ew_CloseConn

	End Sub

	' No cache
	Sub ResponseNoCache()
		Response.AddHeader "Pragma", "no-cache"
		Response.AddHeader "Cache-Control", "no-cache, no-store, must-revalidate"
		Response.AddHeader "X-Content-Type-Options", "nosniff"
	End Sub

	' Download file content
	Sub DownloadFileContent()
		Dim name, filename, value, version, folder, ar
		name = Request.QueryString("id")
		UploadTable = Request.QueryString("table")
		filename = Request.QueryString(name)
		folder = ew_UploadTempPath(name, UploadTable)
		version = Request.QueryString("version")
		If version <> "" Then
			folder = ew_PathCombine(folder, version, True)
		End If

		' Show file content (EW_IMAGE_ALLOWED_FILE_EXT and EW_DOWNLOAD_ALLOWED_FILE_EXT only)
		ar = ew_ArrayMerge(Split(EW_IMAGE_ALLOWED_FILE_EXT, ","), Split(EW_DOWNLOAD_ALLOWED_FILE_EXT, ","))
		If ew_RegExTest("\.(" & Join(ar, "|") & ")$", filename) Then
			If ew_FileExists(folder, filename) Then
				value = ew_LoadBinaryFile(ew_IncludeTrailingDelimiter(folder, True) & filename)
				Call ResponseNoCache
				Response.ContentType = ew_ContentType(LeftB(value,11), filename)
				Response.AddHeader "Content-Disposition", "attachment; filename=" & filename
				Response.BinaryWrite value
				Response.End
			End If
		End If
	End Sub

	' Delete file
	Sub DeleteFile()
		Dim name, filename, filesize, filetype, version, folder
		If Request.QueryString("id") <> "" Then
			name = Request.QueryString("id")
			UploadTable = Request.QueryString("table")
			filename = Request.QueryString(name)
			folder = ew_UploadTempPath(name, UploadTable)
			Call ew_DeleteFile(ew_IncludeTrailingDelimiter(folder, True) & filename)
			version = EW_UPLOAD_THUMBNAIL_FOLDER
			folder = ew_PathCombine(folder, version, True)
			Call ew_DeleteFile(ew_IncludeTrailingDelimiter(folder, True) & filename)
			Call ResponseJson
			Response.Write "{""success"":true}"
		End If
	End Sub

	' Download file list
	Sub DownloadFileList()
		Dim name, filename, filesize, filetype, value, folder, files
		name = Request.QueryString("id")
		UploadTable = Request.QueryString("table")
		If name <> "" Then
			folder = ew_UploadTempPath(name, UploadTable)
			Dim fso, oFolder, oFiles, oFile, sFile
			Set fso = Server.CreateObject("Scripting.FileSystemObject")
			If fso.FolderExists(folder) Then
				Set oFolder = fso.GetFolder(folder)
				Set oFiles = oFolder.Files
				For Each oFile In oFiles
					filename = oFile.Name
					sFile = ew_IncludeTrailingDelimiter(folder, True) & filename
					If fso.FileExists(sFile) Then
						value = ew_LoadBinaryFile(sFile)
						filesize = LenB(value)
						filetype = ew_ContentType(LeftB(value,11), filename)
						If IsArray(files) Then
							ReDim Preserve files(UBound(files)+1)
						Else
							ReDim files(0)
						End If
						files(UBound(files)) = Array(name, filename, filetype, filesize)
					End If
				Next
			End If
			Set fso = Nothing
			Call OutputJSON(name, files)
		End If
	End Sub

	' Upload file
	Sub UploadFile()
		Dim name, filename, filesize, filetype, value, version, folder, files
		Dim exts, filetypes, maxsize, maxfilecount, filecount, fileerror
		Dim arExt, arAllowedExt, i, j
		On Error Resume Next

		' Handle upload file
		If Request.TotalBytes > 0 Then

			' Load language
			Set Language = New cLanguage
			Call Language.LoadPhrases
			Set ObjForm = ew_GetUploadObj()
			If Err.Number <> 0 Then
				If Err.Number = -2147467259 And ew_ContainsText("0104") Then ' Request object error 'ASP 0104 : 80004005' - Operation not Allowed
					fileerror = Language.Phrase("UploadErrMsgIISLimit")
				Else
					fileerror = Replace(Language.Phrase("UploadErrMsgServer"), "%e", Err.Description)
				End If
				files = Array(Array("", "", "", "", fileerror))
				Call OutputJSON("files", files)
				Exit Sub
			End If
			name = ObjForm.GetValue("id")&""
			UploadTable = ObjForm.GetValue("table")&""
			exts = ObjForm.GetValue("exts")&""
			arExt = Split(exts, ",")
			If EW_UPLOAD_ALLOWED_FILE_EXT <> "" Then
				arAllowedExt = Split(EW_UPLOAD_ALLOWED_FILE_EXT, ",")
				exts = Join(ew_ArrayIntersect(arAllowedExt, arExt), ",") ' Get allowed extensions only
				If exts = "" Then exts = EW_UPLOAD_ALLOWED_FILE_EXT
			ElseIf exts = "" Then
				exts = "[\s\S]*" ' Allow all file types
			End If
			filetypes = "\.(" & Replace(exts, ",", "|") & ")$"
			maxsize = ObjForm.GetValue("maxsize")&""
			maxfilecount = ObjForm.GetValue("maxfilecount")&""
			folder = ew_UploadTempPath(name, UploadTable)
			filename = ObjForm.GetUploadFileName(name)
			filetype = ObjForm.GetUploadFileContentType(name)
			filesize = ObjForm.GetUploadFileSize(name)
			value = ObjForm.GetUploadFileData(name)

			' Skip if no file uploaded
			If filename&"" = "" Then
				Response.End
			End If

			' Check file types
			If Not ew_RegExTest(filetypes, filename) Then
				fileerror = Language.Phrase("UploadErrMsgAcceptFileTypes")
				files = Array(Array(name, filename, filetype, filesize, fileerror))
				Call OutputJSON("files", files)
				Exit Sub
			End If

			' Check file size
			If IsNumeric(maxsize) Then
				If CLng(maxsize) < CLng(filesize) Then
					fileerror = Language.Phrase("UploadErrMsgMaxFileSize")
					files = Array(Array(name, filename, filetype, filesize, fileerror))
					Call OutputJSON("files", files)
					Exit Sub
				End If
			End If

			' Check max file count
			If IsNumeric(maxfilecount) Then
				filecount = ew_FolderFileCount(folder)
				If CLng(maxfilecount) > 0 And CLng(maxfilecount) <= CLng(filecount) Then
					fileerror = Language.Phrase("UploadErrMsgMaxNumberOfFiles")
					files = Array(Array(name, filename, filetype, filesize, fileerror))
					Call OutputJSON("files", files)
					Exit Sub
				End If
			End If

			' Delete all files in directory if replace
			If ObjForm.GetValue("replace")&"" = "1" Then
				Call ew_CleanPath(folder, False)
			End If
			If LenB(value) mod 2 = 1 And VarType(value) <> 8209 Then value = value & ChrB(0) ' Handle odd bytes
			Call ew_SaveFile(folder, filename, value)
			version = EW_UPLOAD_THUMBNAIL_FOLDER
			folder = ew_PathCombine(folder, version, True)
			Call ew_ResizeBinary(value, EW_UPLOAD_THUMBNAIL_WIDTH, EW_UPLOAD_THUMBNAIL_HEIGHT, EW_THUMBNAIL_DEFAULT_INTERPOLATION)
			If LenB(value) mod 2 = 1 And VarType(value) <> 8209 Then value = value & ChrB(0) ' Handle odd bytes
			Call ew_SaveFile(folder, filename, value)
			files = Array(Array(name, filename, filetype, filesize))
			Call OutputJSON("files", files)
		End If
	End Sub

	' Output JSON
	Sub OutputJSON(id, files)
		Dim ar, cnt, name, file, filename, filetype, filesize, fileerror, version
		Dim baseurl, url, thumbnail_url, delete_url
		Set ar = Dictionary()
		If IsArray(files) Then
			For i = 0 to UBound(files)
				If IsArray(files(i)) Then
					If UBound(files(i)) >= 3 Then
						name = files(i)(0)
						filename = files(i)(1)
						filetype = files(i)(2)
						filesize = files(i)(3)
						If UBound(files(i)) >= 4 Then
							fileerror = files(i)(4)
						Else
							fileerror = ""
						End If
						version = EW_UPLOAD_THUMBNAIL_FOLDER
						If EW_DOWNLOAD_VIA_SCRIPT Or EW_UPLOAD_TEMP_PATH = "" Or EW_UPLOAD_TEMP_HREF_PATH = "" Then
							baseurl = ew_FullUrl(ew_CurrentPage, "upload")
							table = ew_IIf(UploadTable <> "", "&table=" & UploadTable, "")
							url = baseurl & "?id=" & name & table & "&" & name & "=" & ew_UrlEncode(filename) & "&download=1&rnd=" & ew_Random()
							thumbnail_url = baseurl & "?id=" & name & table & "&" & name & "=" & ew_UrlEncode(filename) & "&version=" & version & "&download=1&rnd=" & ew_Random()
							delete_url = baseurl & "?id=" & name & table & "&" & name & "=" & ew_UrlEncode(filename) & "&delete=1&rnd=" & ew_Random()
						Else
							baseurl = ew_UploadTempPath(False, "") & EW_UPLOAD_TEMP_FOLDER_PREFIX & Session.SessionID & "/"
							table = ew_IIf(UploadTable <> "", UploadTable & "/", "")
							url = baseurl & table & name & "/" & ew_UrlEncode(filename)
							thumbnail_url = baseurl & table & name & "/" & version & "/" & ew_UrlEncode(filename)
						End If
						Set file = Dictionary()
						Call file.Add("name", filename)
						Call file.Add("size", filesize)
						Call file.Add("type", filetype)
						Call file.Add("url", url)
						If fileerror <> "" Then
							Call file.Add("error", fileerror)
						Else
							Call file.Add(version & "Url", thumbnail_url)
						End If
						Call file.Add("deleteUrl", delete_url)

						'Call file.Add("deleteType", "DELETE")
						Call file.Add("deleteType", "GET") ' Use GET
						Call ar.Add(i, file.ToJson())
					End If
				End If
			Next
		End If

		' Set file header / content type
		Call ResponseNoCache
		Response.AddHeader "Content-Disposition", "inline; filename=files.json"

		' Output JSON
		Call ResponseJson
		Response.Write "{""" & id & """:[" & ar.Join(",") & "]}"
		Set file = Nothing
		Set ar = Nothing
	End Sub
End Class
%>

Youez - 2016 - github.com/yon3zu
LinuXploit