Tomcat7+ 密码爆破&&后台war部署后门getshell漏洞
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。
Tomcat是Apache 服务器的扩展,但实际上是作为一个与Apache 独立的进程单独运行的。Apache 为HTML页面服务,而Tomcat 实际上一个Servlet和JSP容器,运行JSP 页面和Servlet。
Tomcat和IIS等Web服务器一样,具有处理HTML页面的功能,但处理静态HTML的能力不如Apache服务器。
Tomcat7+支持在后台部署war文件,可以直接将webshell部署到web目录下。当然,有个前提条件,那就是需要能登录后台,且对应用户有相应权限。
Tomcat7 +权限分为:
manager-gui 拥有html页面权限
manager-status 拥有查看status的权限
manager-script 拥有text接口的权限,和status权限
manager-jmx 拥有jmx权限,和status权限
admin-gui 拥有html页面权限
admin-script 拥有text接口权限
详情阅读 :http://tomcat.apache.org/tomcat-8.5-doc/manager-howto.html
在conf/tomcat-users.xml文件中配置用户的权限(用户tomcat拥有上述所有权限,密码是tomcat):
xml version="1.0" encoding="UTF-8"?><tomcat-users xmlns="http://tomcat.apache.org/xml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd" version="1.0"><role rolename="manager-gui"/><role rolename="manager-script"/><role rolename="manager-jmx"/><role rolename="manager-status"/><role rolename="admin-gui"/><role rolename="admin-script"/><user username="tomcat" password="tomcat" roles="manager-gui,manager-script,manager-jmx,manager-status,admin-gui,admin-script"/>tomcat-users>
正常安装的情况下,tomcat8中默认没有任何用户,且manager页面只允许本地IP访问。只有管理员手工修改了这些属性的情况下,才可以进行攻击。
测试环境搭建可通过Vulhub,利用Docker搭建,真方便快捷。
当然,为直观了解内在原理,亦可自行搭建。
如果你运气好,恰巧碰到网管比较机智,tomcat管理页面支持访问,那你就抱他,用力的抱他!
(1)首先,通过tomcat主页面,点击Manager App登录管理页面,在登录框中输入用户名密码;
或直接访问http://your-ip:8080/manager/html,在登录框中输入用户名密码。
(2)然后点击确定,通过burpsuite抓取登录请求报文(用户名密码采用base64编码,用户名:密码 格式传输)
(3)右键点击请求报文,选择“send to intruder”将请求报文发送到intruder模块
(4)在“Positions”选项卡页面添加攻击参数:选中参数后,点击Add添加为攻击参数
(5)配置payload:在“payloads”选项卡,设置payload类型为自定义迭代器(Custom iterator):
它共有8个占位,每一个占位可以指定简单列表的Payload类型,然后根据占位的多少,与每一个简单列表的Payload进行笛卡尔积(不懂就找你度麻麻去),生成最终的Payload列表。
(6)为第一个占位添加你的username字典
(7)为第二个占位添加字符“:”
(8)为第三个占位添加你的password字典
(9)在“payload processing”设置编码为“encode”-->“base64-encode”,并在“payload Encoding”中取消“URL-encode these characters"勾选
(10)可以开始攻击了
如果你有幸踩到了little dog bian bian,嗯,记得离我远点,别忘了把鞋擦干净。
(1)制作WAR包(将后门文件打包到war包,需本地配置java环境)
jar -cvf war.war “houmen.jsp”
(2)利用后台war部署功能上传后门文件
(3)getshell
上传war包后,会自动解压到网站根目录下/war(你的war包名字)/houmen.jsp(你的后门名字),通过c刀等工具连接,getshell。
http(s)://xxx.xxx.xx.xx:xxxx/war/houmen.jsp
特别提醒:不用弱口令!不用弱口令!不用弱口令!
河南信安世纪科技有限公司