在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. 空间插值文献阅读(Geostatistical approaches for incorporating elevation into the spatial interpolation of rainfall)

    空间插值技术应用必读论文---P. Goovaerts, Geostatistical approaches for incorporating elevation into the spatial ...

  2. atitit。自定义uml MOF EMF体系eclipse emf 教程o7t

    atitit.自定义uml MOF EMF体系eclipse emf  教程o7t 1. 元对象机制(MOF,Meta-Object Facility)and  结构 1 2. 元模型图.模型图.对象 ...

  3. curl模拟登录

    $post_data = array("username"=>"yuejide@163.com","password"=>&qu ...

  4. mysqld.exe 占了400M内存的问题

    最近遇到了服务器总是停机的问题,虽然它自己只有2G的内存,不过实际部署的应用访问量非常小,也不至于2G就不够用,所以开始了给服务器瘦身的计划. 看着任务管理器里面的各个进程,发现吃内存最厉害的是mys ...

  5. C#控制其它程序

    [DllImport("user32.dll", EntryPoint = "FindWindow", SetLastError = true)]        ...

  6. Scala 深入浅出实战经典 第81讲:Scala中List的构造是的类型约束逆变、协变、下界详解

    王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-97讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 ...

  7. asp.net core 之静态文件目录的操作

    文章前言 之前写了一篇关于模拟登录的文章,自我感觉内容不太丰富,今天的这篇文章,希望在内容上能丰富些.本人缺少写文章的经验,技术上也是新手,但我会努力的,希望大家多多支持小弟. asp.net cor ...

  8. mediawiki的管理与使用

    本文主要讲述搭建好私有的mediawiki之后,管理员可能需要用到的几个功能.   维基百科的设计思路与我以往使用的系统不太一样,以管理员模式进入之后,并没有我预想的添加wiki页面入口,和侧边栏导航 ...

  9. github 使用记录

    安装客户端tortoiseGit 是服务端,要想在自己电脑上使用git我们还需要一个git客户端,我这里选用TortoiseGit,他给我们提供了图形界面的操作.在安装之前首先需要安装git,下载地址 ...

  10. 2. MongoDB基本操作 —— 用Mongo.exe操作数据库增删改查

    一.开篇 传统的关系数据库一般由数据库(database).表(table).记录(record)三个层次概念组成,MongoDB是由数据库(database).集合(collection).文档对象 ...