通过远程部署获取webshell并不属于代码层次的漏洞,而是属于配置性错误漏洞。
1.Tomcat
tomcat是一个jsp/Servlet容器
端口号:8080
攻击方法:
默认口令、弱口令,爆破,tomcat5 默认有两个角色:tomcat和role1。其中账号both、tomcat、role1的默认密码都是tomcat。弱口令一般存在5以下的版本中。 在管理后台部署 war 后门文件。
利用远程代码执行漏洞。
制作WAR格式的shell程序时,可以使用JDK自带的JAR命令进行制作,JAR.exe存放在JDK安装目录的bin目录下。比如,将C盘下的shell.jsp制作成war包,shell.jsp代码如下:
<% out.println("JSP shell..."); %>
命令格式如下:
jar -cvf WAR 文件名称 目标文件
可以使用如下命令:
jar -cvf shell.war shell.jsp //打包指定文件
jar -cvf shell.war* //打包当前目录下的所有文件
2.Weblogic
Weblogic是一个基于JavaEE架构的中间件,用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用器。
安装好weblogic后。默认监听端口为7001,在URL后面输入“console”,将会自动跳转至weblogic的后台管理界面。路径为“console/login/loginForm.jsp”。
weblogic后台管理存在密码验证策略,但在一些老版本之中存在以下弱口令。
Weblogic:Weblogic;system:system;guest:guest;portaladmin:portaladmin
3.JBoss
JBoss是一个基于JavaEE的开放源代码的应用服务器,JBoss是一个管理EJB的容器和服务器,但是JBoss核心服务不包括支持Servlet/JSP的web容器,一般与tomcat或Jetty绑定使用。可以说tomcat为JBoss的一个子集。
JBoss的默认端口也是8080,访问http://host:8080可以看到JBoss默认的部署页面。