1.1WAR文件信息泄露及利用

1.1.1war简介

WAR文件常见于Java应用中,WAR文件和JAR文件的文件格式是一样的,并且都是使用jar命令来创建,但就其应用来说,WAR文件和JAR文件是有根本区别的。JAR文件的目的是把类和相关的资源封装到压缩的归档文件中,而对于WAR文件来说,一个WAR文件代表了一个Web应用程序,它可以包含 Servlet、HTML页面、Java类、图像文件,以及组成Web应用程序的其他资源,而不仅仅是类的归档文件。

如果一个Web应用程序的目录和文件非常多,那么将这个Web应用程序部署到另一台机器上,全部复制过去,在复制过程中如果出现意外,非常麻烦!设计者想到了一个方法即将Web应用程序打包成Web 归档(WAR)文件,这个过程和把Java类文件打包成JAR文件的过程类似。利用WAR文件,可以把Servlet类文件和相关的资源集中在一起进行发布。在这个过程中,Web应用程序就不是按照目录层次结构来进行部署了,而是把WAR文件作为部署单元来使用。一个WAR文件就是一个Web应用程序,建立WAR文件,就是把整个Web应用程序(不包括Web应用程序层次结构的根目录)压缩起来,指定一个.war扩展名。一般是在在产品发布阶段使用WAR文件,在这个阶段基本不会对程序进行修改。

1.1.2生成War文件

1.JDK环境

制作war包的环境安装Java SE Development Kit(JDK)1.4以上版本,目前版本为8.0.1440.1,下载地址http://sw.bos.baidu.com/sw-search-sp/software/0e4489b4c514e/jdk-10_windows-x64_bin_10.0.0.0.exe。在有些Java开发工具中会默认安装JDK。Java Runtime Environment是运行环境,即允许java应用程序必须安装。默认安装路径在C:\Program Files (x86)\Java\jdk1.8.0_144\bin,安装完毕后在“计算机”-“计算机属性”-“高级”-“环境变量”中设置添加path值“C:\Program Files (x86)\Java\jdk1.8.0_144\bin”,即在原有的值后面增加一个“;”然后将java所在路径值增加在后面即可。“java –version”命令可以查看java版本信息。

2.生成jar文件

(1)生成jar文件

切换到j2sdk的bin目录,找到jar命令

在linux上,jar命令位于:/usr/java/j2sdk1.4.2/bin

在win上,jar命令位于:C:\Program Files (x86)\Java\jdk1.8.0_144\bin

执行jar -cvf 将要生成的包名“.war”要压缩的目录名,例如,要压缩C:/index目录下的子目录和jsp文件,则先切换到jar文件所在的路径,键入如下命令:

cd C:/index

jar -cvf index.war *

即可在当前目录下得到index.war,随后可以把index.war上传到服务器

(2) 将两个类文件归档到一个名为 classes.jar 的档案中:

jar cvf classes.jar Foo.class Bar.class

(3) 使用现有的清单文件 'mymanifest' 并将 foo/ 目录中的所有文件归档到 'classes.jar' 中: jar cvfm classes.jar mymanifest -C foo/ .

3. 使用eclpise导出war,在eclpise中可以选中一个项目,然后选择“Export”, 选中“Web”下面的“WAR file”,点击“Nex”通过“Browse”选择保存路径,点击“Finish”完成即可。

4.查看war文件

jar -tf index.war

1.1.3设置及部署war文件

1.部署war

在TOMCAT中部署war,其部署步骤如下:

(1)将war文件拷贝到tomcat目录/webapps/ 下。

(2)将必要的jar文件拷贝到tomcat目录/lib/ 下。

2.设置server.xml配置文件

(1)修改tomcat目录/conf/下的server.xml。

<!-- Tomcat Manager Context -->

<Context path="/manager" docBase="manager" debug="0"privileged="true"/>

将这段代码中的

<Context path="/manager" docBase="manager" debug="0" privileged="true"/>

拷贝一下并修改:path="" 为war路径,docBase=""为你的war的文件名,默认为管理地址。

(3)完毕,启动tomcat

3.自动解压设置

在tomcat安装目录下的conf目录下有个server.xml,搜索“unpackWARs”关键字,在<Host>标签中会有对其的设置,如果设置成true,那么tomcat在启动的时候,会在webapps目录下自动解压你那个war文件;如果设置成false,则tomcat直接访问war文件。

1.1.4WAR文件信息泄露及利用思路

1.war文件信息泄露

WAR文件信息泄露是指部署的war文件由于配置不当,导致其整个包文件以及其它重要配置文件信息泄露,例如可以直接浏览目录,获取其下面的数据库配置文件:WEB-INF/jdbc.properties,jdbc.properties为数据库连接配置文件,其中包含数据库连接的账号和密码等重要信息,在有些java应用中可能配置有邮箱账号和密码等敏感信息,笔者曾经在某大型网络中还见过将windows操作系统账号和密码写进配置文件,一旦这些文件信息泄露,将导致严重的安全隐患。如图1所示,在该配置文件中包含了邮箱帐号和密码等信息。

图1泄漏邮箱帐号和密码

2.重要的配置文件

java一般其重要配置文件位于其对应WEB-INF目录下,常见的重要配置文件有:

config/config.properties

configure/configure.properties

applicationContext.xml

sysconfig.properties

web.xml

config.xml

jdbc.properties

3.利用思路

(1)通过配置文件寻找真实路径信息。

(2)通过配置文件获取邮箱帐号和密码信息,包含邮箱帐号和密码的配置文件,其邮箱帐号99%都可以登录成功。登录邮件后可以对其邮箱信件内容进行查看,可以进行apt***等。

(3)获取配置文件中的数据库连接信息,如果外网或者内网能够访问数据库端口,则可以直接连接数据库,操作和管理数据库,甚至进行服务器提权。

(4)其它重要信息。获取一些有助于进一步***到url等配置信息。

4.war信息泄露获取方法

(1)目录信息泄露,直接访问其相应的目录可以获取

(2)扫描软件扫描获取。通过一些漏洞扫描工具,通过扫描即可获取。

(3)通过shadon、zoomeye、fofa漏洞搜索引擎对关键字进行搜索

1.1.5寻找war信息泄露实战

1.使用fosa搜索jdbc.properties

打开https://fofa.so,在其搜索框中输入"jdbc.properties"进行搜索,如图1所示可以获取20多个信息泄露记录。

图2利用关键字搜索配置文件

2.对其泄漏的记录进行查看

对其中的记录进行逐个查看,如图3所示,可以看到该泄漏的文件存在目录泄漏漏洞,通过访问站点直接可以获取其配置文件的信息。如图4所示,其jdbc.properties配置文件中配置了SQL Server的sa账号和密码:

jdbcDriver=com.microsoft.sqlserver.jdbc.SQLServerDriver

jdbcUser=sa

jdbcPassword=cx******5

jdbcUrl=jdbc\:sqlserver\://120.****.***\:1433;DatabaseName=test2

图3目录信息泄露敏感文件

图4泄漏数据库配置文件

3.通过sqltools对该主机的数据库进行连接

如图5所示,通过sqltools对上面获取的密码和数据库进行连接,成功连接后,可以执行命令,数据库配置的权限为system,直接获取服务器权限。

图5链接数据库

4.直接添加用户并获取服务器密码

通过net user hack hacker /add net localgroup administrators hack /add类似命令添加用户,直接远程登录服务器,通过wce等工具获取服务器密码,如图6所示。

图6登录并获取服务器管理密码

1.1.6信息泄露扫描工具

开源信息泄露扫描工具:https://github.com/lijiejie/BBScan,对于信息泄露,可以通过BBScan等工具进行扫描。

1.1.7war信息泄露安全防范

1.在站点正式上线后,对站点进行利用wvs等工具进行漏洞扫描

2.对敏感文件进行访问,在根目录禁止打包文件,删除无关文件。

题外话:我在51CTO博客上线了自己的专栏《sqlmap******入门到实战》,欢迎网安同道们切磋交流

WAR文件信息泄露及利用相关推荐

  1. Springboot之Actuator信息泄露漏洞利用

    0x01 什么是Actuator Spring Boot Actuator 模块提供了健康检查,审计,指标收集,HTTP 跟踪等,是帮助我们监控和管理Spring Boot 应用的模块.这个模块采集应 ...

  2. 交易所安全测试--信息泄露

    0x03 信息泄露 一.概述 信息泄露在安全审计中屡见不鲜,对于存有大量用户KYC信息的交易所来说影响更加深远,是非常严重的安全问题.零时科技安全团队在审计大量交易所后发现,信息泄露问题一般集中于交易 ...

  3. Tomcat配置文件信息泄露

    是由于server.xml内的appBase置空导致. <Host name="localhost" appBase=""unpackWARs=" ...

  4. CTF学习(二)——信息泄露、密码口令、SQL注入、文件上传

    一.信息泄露 1.1目录遍历 ①点开题目后依次点开各目录,遍历后发现flag文件得旗 1.2 PHPINFO ①在长篇文件中查找flag得旗 1.3备份文件下载 1.3.1 网站源码 ①由提示下载文件 ...

  5. 实战敏感信息泄露高危漏洞挖掘利用

    信息泄露介绍: 信息泄露就是某网站某公司对敏感数据没有安全的保护,导致泄露敏感被攻击者利用,例如泄露:账号,密码,管理员,身份证,数据库,服务器,敏感路径等等 信息泄露危害: 如果进了业务系统可以SQ ...

  6. Springboot信息泄露以及heapdump的利用

    14天阅读挑战赛 努力是为了不平庸~ 安全有些时候是枯燥的,这一次,让我们先人一步,趣学渗透! heapdump的利用 0x01 Springboot信息泄露 路由列表 0x02 下载heapdump ...

  7. 利用批处理程序和excel获取windows文件信息

    1.批处理文件name.bat->放到要取得文件信息的文件夹中 dir *.*>temp.txt 运行name.bat将文件信息输入到temp.txt文件中. 2.将temp.txt的内容 ...

  8. 原创-含泪贡献:Revit二次开发,从零开始,利用socket实现Revit的远程调用,读取rvt文件信息

    我是一名Java开发程序员,在一家建筑企业担任软件开发工作.大家都知道,建筑行业离不开画图软件,像CAD.Revit等画图建模软件时常使用.一个月前,接到领导的一个任务,要求提供一个接口,供用户远程调 ...

  9. web应用安全测试之信息泄露

    文章目录 robots.txt泄漏敏感信息 漏洞描述 测试方法: 风险分析: 风险等级: 修复方案 敏感文件信息泄漏 漏洞描述: 测试方法: 风险分析: 风险等级: 修复方案: 过时的.用于备份的或者 ...

最新文章

  1. Linux查看WAS的jvm信息,linux 下使用命令查看jvm信息
  2. oracle实例由,Oracle数据库和实例
  3. hello是c语言中的变量吗,C语言hello world详解
  4. Handler研究2-AsyncTask,AsyncQueryHandler分析
  5. 序列化类型 System.Data.Entity.DynamicProxies 的对象时检测到循环引用
  6. C++ Primer 5th笔记(chap 10)泛型算法 :算法形参
  7. Linux 文件系统在线扩容实战
  8. Logrotate 对服务器日志按照小时切割并压缩
  9. OpenUDID 是否足够替代 UDID 使用?有何不同?
  10. NO1:在Windows端安装SecureCRT来连接Linux
  11. 基于webpack的react脚手架
  12. 关于在ubuntu14.04下firefox升级后refresh插件不好用
  13. Mac操作指南:废纸篓里的文件无法清除如何解决?
  14. 创建font_使用python创建秒表
  15. 调色板 palette 详解
  16. Bex5服务启动时提示概念表超限
  17. 【矩阵论 图论】期末考试复习思维导图
  18. Arduino 通过双路L298N电机驱动模块控制麦克纳姆轮运动
  19. 启动Elasticsearch时:[failed to obtain node locks]
  20. PPT文件设置打开密码的两种方法

热门文章

  1. PyQt5实例 画板小程序
  2. 小米参与研发鸿蒙,华为投入近5000人研发鸿蒙 小米9S将发布
  3. EMF学习笔记(四)——使用EMF编程——持久化(续)
  4. 2021年安全员-A证-主要负责人(广东省)考试题及安全员-A证-主要负责人(广东省)试题及解析
  5. 关于对CSS中BFC (块级格式化上下文) 的理解
  6. lapack 在window下编译
  7. IP地址所属运营商查询
  8. CFA是什么?什么是CFA?报名考试时间?
  9. Tomcat启动成功能访问主页面但是不能访问应用解决办法
  10. Redis_07_Redis哨兵模式