在Tomcat中,应用程序的部署很简单,只需将你的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压。在浏览器中访问这个应用的Jsp时,通常第一次会很慢,因为Tomcat要将Jsp转化为Servlet文件,然后编译。编译以后,访问将会很快。另外Tomcat也提供了一个应用:manager,访问这个应用需要用户名和密码,用户名和密码存储在一个xml文件中。通过这个应用,辅助于Ftp,可以在远程通过Web部署和撤销应用,当然本地也可以,本案例就是利用这个特性来构建后门程序的。
Tomcat不仅仅是一个Servlet容器,它也具有传统的Web服务器的功能:处理Html页面。但是与Apache相比,它的处理静态Html的能力就不如Apache。可以将Tomcat和Apache集成到一块,让Apache处理静态Html,而Tomcat处理Jsp和Servlet.这种集成只需要修改一下Apache和Tomcat的配置文件即可。
(一)检查Tomcat设置。服务器安装了Apache Tomcat后会默认开放8080端口供外部连接,一般在浏览器中输入“IP:8080”或者域名来访问Apache Tomcat页面,如图1所示。
 
图1 连接到Tomcat的页面
(二)查看Tomcat用户配置文件。Tomcat安装完成后有一个配置文件“tomcat-users.xml”,它位于Tomcat程序安装目录下的conf目录下,直接打开该文件可以看到其中关于用户名和密码的明文值,如图2所示,找到并记住包含“admin,manager”那一行的用户名和密码。(这里的tomcat-user.xml指的是Catalina_base下的那个tomcat-users.xml文件,而不是Catalina_home下的)
 
图2 获取用户配置的用户名和密码
说明:
(1)有很多对tomcat不是很了解的管理员在安装完Tomcat后并没有修改默认密码,用户名是admin,密码为空,如果是这种情况可以直接登录。
(2)如果用户修改了该密码,那么其密码一定保存在“tomcat-users.xml”中,因此可以通过Webshell来获取这个文件的内容。
(三)进入Tomcat管理。Tomcat提供了在线管理,本案例也正式利用在线管理来构建后门的。在图1中单击左上角下面的“Tomcat Manager”链接后,会弹出一个要求输入用户名和密码的窗口,该窗口跟Windows登录窗口有点类似,如图3所示。
 
图3 登录Tomcat管理应用
(四)查看部署情况。在图3中输入从“tomcat-users.xml”文件中获取的具有管理员权限的用户名和密码,验证通过后进入部署管理页面,如图4所示。
 
图4 部署管理页面
说明:
(1)在部署管理页面中可以“Start”(启动)、“Stop”(停止)、“Reload”(重载)、“Undeploy”(删除部署)已经部署的项目,单击“Undeploy”会对文件进行物理删除。
(2)部署的文件夹是以*.war文件的名称,例如上传的文件是job.war,则在Tomcat目录中会对应生成一个“job”文件夹 。
(五)部署JSP WebShell后门程序。在部署管理页面的下方有一个“WAR file to deploy”,单击浏览选择一个已经设置好的后门war文件,在本例中的后门程序为job.war,单击“deploy”将该文件部署到服务器上,如图5所示。
 
图5 上传后门war文件到服务器
说明
(1)部署是其文件必须是war文件。
(2)将winzip软件安装在系统中,然后将单一或者多个jsp后门文件压缩成一个压缩文件,压缩成功后,将“*.zip”文件更名为“*.war”即可。
(3)上传文件后,tomcat会自动进行部署并运行。
(六)测试后门程序。在地址栏中输入“部署文件名称/jsp文件”,例如在本例中其正确的访问是“[url]http://127.0.0.1:8080/job/job.jsp[/url]”,如果设置正确会显示如图6所示的Webshell登录窗口。
 
图6 登录webshell
(七)在Webshell中执行命令。在Webshell中输入密码后,进入到Webshell管理界面,默认显示服务器的一些信息,在功能菜单中选择“执行命令”,并在执行命令输入框中输入“netstat -an”命令可以查看网络连接等,如图7所示。
 
图7 执行命令
说明
(1)通过这种方式部署的Jsp后门程序具有较大权限,可以执行添加用户等危险命令。
(2)jsp后门中可以通过“文件系统”模块来对文件进行操作;通过“数据库”模块来连接数据库等操作;
(3)本案例构建后门也正是这里,平时可以在系统中保留一个小的后门程序,如果后门程序被杀毒软件查杀或者被管理员发现并删除掉了,则可以通过以上步骤重新进行部署,从而循环永久保留后门。
小结
   本案例介绍的情况适合于管理员(admin)密码为空的情况,同时也适合于获取了tomcat中的tomcat-users.xml文件中的用户名和密码的情况。一般来讲内网相对防护要弱一些,因此该案例对于内网渗透时有一定的帮助。由于本人对jsp不是特别熟悉,尤其是部署设置,不知道在jsp中是否也可以进行诸如IIS中的严格权限限制,能否禁止jspwebshell的执行,本案例是对服务器攻防的一种探讨,功能强大的应用程序往往一个弱小的漏洞就可以攻破整个系统。
后记
    通过google对tomcat的一些关键字进行了搜索,没有遇到管理员为空的,我使用inurl:8080 关键字进行搜索的(常用方法,其实修改下端口就能避免大部分这种攻击),不知道还有什么好的方法来进行搜索

Tomcat Manager 用户名和密码配置的更多相关文章

  1. Tomcat Manager用户名和密码

    在浏览器输入http://localhost:8080/,打开Tomcat自带的默认主页面,右侧有“administration”“documentation”等模块.选择“administratio ...

  2. 利用Tomcat的用户名和密码构建“永久”后门

    从本案例中可以学到: (1)关于JSP的一些基础知识 (2)利用Tomcat的用户名和密码来构建后门 本文首先要感谢<黑客手册>“非安全.后生”编辑为本为提供了帮助,还要感谢网友“伤心的鱼 ...

  3. 设置Tomcat管理员用户名和密码

    http://dove19900520.iteye.com/blog/1774980 今天tomcat出点问题,然后我就想进入tomcat manager看看,结果怎么输入密码都不行,后来网上查了查才 ...

  4. tomcat manager 的用户权限配置,及环境变量CATALINA_HOME的错位问题

    因为tomcat的manager是管理其他项目的发布.删除等操作的管理项目,所以需要为其设置登陆用户和密码,以及用户相应的访问权限,配置如下: tomcat-users.xml需要添加如下内容: &l ...

  5. 配置tomcat的用户名和密码

    <role rolename="manager-gui"/> <role rolename="manager-script"/> < ...

  6. .tomcat 管理 给tomcat设置用户名和密码登录

    如果点击红色框框 出现403以下错误 看这个帖子可以解决 tomcat访问管理页面出现:403 Access Denied 解决方法 tomca管理 测试功能,生产环境不要用. Tomcat管理功能用 ...

  7. tomcat 登录时用户名和密码问题

    在编程的时候我们经常在myeclipes中直接部署web程序,大多数情况下不会登陆tomcat,这样时间长了我们就忘记了tomcat的登陆用户名和密码,下面就说一下怎么找到tomcat的用户名和密码吧 ...

  8. Tomcat免安装版+Eclipse配置

    Tomcat是目前比较流行的开源且免费的Web应用服务器,在我的电脑上第一次安装Tomcat,再经过网上教程和自己的摸索后,将这个过程 重新记录下来,以便以后如果忘记了可以随时查看. 注意:首先要明确 ...

  9. Tomcat配置用户名和密码

    1.在浏览器输入http://localhost:8080/,打开Tomcat自带的默认主页面,右侧有"administration""documentation&quo ...

随机推荐

  1. Atitit. 构造ast 语法树的总结attilax v2 q0f

    Atitit. 构造ast 语法树的总结attilax v2 q0f 1. Ast结构树形1 2. ast view (自是个160k的jar )2 2.1. 多条语句ast结构2 2.2. 变量定义 ...

  2. atitit.修复xp 操作系统--重装系统--保留原来文件不丢失

    atitit.修复xp 操作系统--重装系统--保留原来文件不丢失 1. 修复目标...保持c盘文件,恢复system文件走ok... 1 2. 重装系统以前的操作 1 2.1. 避免格式化c盘/gh ...

  3. HTML5骨骼动画Demo | 使用min2d、createjs、pixi播放spine动画

    Spine做骨骼动画是比较流行的,使用起来可能相对复杂,但功能毕竟强大,所以市场占有率较大. 在unity.cocos2d.starling中使用spine已经很成熟了,而HTML5这一块可能刚刚起步 ...

  4. gulp学习笔记3

    gulp系列学习笔记: 1.gulp学习笔记1 2.gulp学习笔记2 3.gulp学习笔记3 4.gulp学习笔记4 1.编译sass Sass 是一种 CSS 的开发工具,提供了许多便利的写法,大 ...

  5. js 停止事件冒泡 阻止浏览器的默认行为(阻止超连接 # )

    在前端开发工作中,由于浏览器兼容性等问题,我们会经常用到“停止事件冒泡”和“阻止浏览器默认行为”. 1..停止事件冒泡 JavaScript代码 //如果提供了事件对象,则这是一个非IE浏览器if ( ...

  6. [转]office2010一直卡在“正在受保护的视图中打开”

    用Office 2010 打开文件遇到“”,如下图: 转自: 解决办法: 还可以使用下面的方法打开上图的受保护视图设置界面:   1. 启动 Word 2010 应用程序,单击[文件]按钮并选择[选项 ...

  7. Windows8和CentOS6.4(64)双系统硬盘安装(图文)【转】

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://asange.blog.51cto.com/7125040/1193980 最近在 ...

  8. AngularJS Eclipse——新手入门【翻译+整理】

    原文地址 本文介绍如何安装和配置 AngularJS Eclipse.AngularJS Eclipse 插件是基于强大的 JavaScript 推断引擎(javascript inference e ...

  9. Halcon学习标定助手

    本文采用halcon标定助手进行标定. 第一步:打开标定助手. 第二步:对描述文件进行修改 具体:打开算子窗口,输入gen_caltab,进行描述文件修改. 参数XNum和YNum为7行*7列的圆,M ...

  10. Ios开发之定位CLLocationManager

    Ios中的定位功能是通过 Core Location框架实现的.它和地图开发框架是相互独立的.在Core Location中主要实现了定位和地理编码的功能! 下面我们就来介绍一下它的属性,方法和代理方 ...