Bootstrap

技术干货 | 针对Spring-Boot 框架漏洞的初探

0x1 前言

这篇文章主要是给师傅们介绍下Spring-Boot 框架漏洞的打法以及主要对于Spring-Boot漏洞的接口泄露信息进行一个分析,后面使用了曾哥的Spring-Boot漏洞扫描工具,可以很大减轻我们对于这个漏洞接口的分析。

0x2 Spring框架简述

Spring是一个java开源框架,可以接管web层、业务层、dao层、持久层的组件,其核心就是控制反转(IOC)和面向切面(AOP)。

Spring 框架是一个功能强大的 Java 应用程序框架,旨在提供高效且可扩展的开发环境,不同部分的讲解,Spring生态系统中有五个关键部分,分别是Spring Framework、Spring Boot、Spring Cloud、Spring Security和Spring MVC

图片

0x3 信息收集/资产收集

一、通过icon图标进行识别

可以直接利用icon图标,可以直接找一个这样的网站,然后利用FOFA检索

图片

可以搜索到八十万条左右的资产数据,说明Spring Boot框架是应用广泛哈哈~
(其中还有很多服务更改了默认的ico图标,所以这个语法找不到)

图片

二、通过网页内容进行识别

通过网页内容那就是要判断这个网页的特征了,师傅们可以看下这个经典的Spring-Boot报错页面

图片

我们可以通过网页内容进行识别,因为在Spring-Boot报错页面中都存Whitelabel Error Page 关键字,所以就可以直接检索这个

图片

FOFA语句:

 
  1. body="Whitelabel Error Page"

图片

可以看到里面的icon数量非常多,

图片

0x4 渗透测试

spring-boot接口敏感信息泄露

首先我们对于Spring-Boot漏洞,我们可以使用Spring-Boot-Scan漏洞扫描工具

SpringBoot-Scan:https://github.com/AabyssZG/SpringBoot-Scan

工具使用语法:

  1. python SpringBoot-Scan.py -u url

图片

后来就可以直接在urlout.txt文件里面找到扫描存在的接口,后面我们就可以直接丢到浏览器去访问下,看看有什么敏感信息泄露

图片

要是使用这个spring-boot漏洞扫描工具扫描,然后禁止扫描,或者没有扫到,那么师傅们就可以尝试下手工去拼接接口目录

  1. /actuator

  2. 查看有哪些 Actuator端点是开放的。

  3. /actuator/auditevent

  4. auditevents端点提供有关应用程序审计事件的信息。

  5. /actuator/beans

  6. beans端点提供有关应用程序 bean 的信息。

  7. /actuator/conditions

  8. conditions端点提供有关配置和自动配置类条件评估的信息。

  9. /actuator/configprops

  10. configprops端点提供有关应用程序@ConfigurationPropertiesbean的信息。

  11. /actuator/env

  12. 查看全部环境属性,可以看到 SpringBoot 载入哪些 properties,以及 properties 的值(会自动用*替换 key、password、secret 等关键字的 properties 的值)。

  13. /actuator/flyway

  14. flyway端点提供有关 Flyway 执行的数据库迁移的信息。

  15. /actuator/health

  16. 端点提供有关应用程序运行状况的health详细信息。

  17. /actuator/heapdump

  18. heapdump端点提供来自应用程序 JVM 的堆转储。(通过分析查看/env端点被*号替换到数据的具体值。)

  19. /actuator/httptrace

  20. httptrace端点提供有关 HTTP 请求-响应交换的信息。(包括用户HTTP请求的Cookie数据,会造成Cookie泄露等)。

  21. /actuator/info

  22. info端点提供有关应用程序的一般信息。

/actuator接口下面经常会有信息泄露

图片

/actuator/info泄露版本信息

图片

/actuator/env目录账号密码泄露

图片

访问/actuator/loggers获取服务器的日志级别

图片

访问/heapdump或者/actuator/heapdump
Heap Dump也叫堆转储文件,是一个Java进程在某个时间点上的内存快照
其中可能会含有敏感数据,如数据库的密码明文等
直接访问路径会返回一个GZip压缩的JVM堆dump,其中是jvm heap信息。下载的heapdump文件大小通常在 50M—500M 之间,有时候也可能会大于 2G

图片

可以使用heapdump_tool工具进行查看

heapdump_tool:https://github.com/wyzxxz/heapdump_tool

图片

命令如下,然后对其中的数据进行内容检索,寻找敏感信息

  1. java -jar JDumpSpider-1.1-SNAPSHOT-full.jar heapdump //自动化工具分析

  2. java -jar heapdump_tool.jar heapdump //手动分析heapdump

图片

图片

0x5 总结

这篇文章是针对Spring-Boot漏洞的分析与研究,然后这是对这个漏洞的上,下面还有第二篇文章是针对分析这个漏洞的。然后希望这篇文章能够对师傅们有帮助吧!!!

更多网络安全优质免费学习资料与干货教程加v

送渗透工具、技术文档、书籍,面试题、视频(基础到进阶。环境搭建,HTML,PHP,MySQL基础学习,信息收集,SQL注入,XSS,CSRF,暴力破解等等)、应急响应笔记、学习路线。

申明:本账号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,

所有渗透都需获取授权,违者后果自行承担,与本号及作者无关,请谨记守法。


                
      
;