Jump to content

1。はじめに

Spring HeapdumpがShiro Keyを漏らし、したがってRCEを漏らし、脆弱な環境を構築しました。 GitHubアドレス:https://Github.com/p4r4d1se/heapdump_shiro_vuln

脆弱性の悪用条件:

Spring Shiro環境にはHeapdumpファイルの漏れと搾取可能なチェーンがあります。

2。脆弱性の原則

多くの大物は、シロ関連の脆弱性の原則とデバッグ分析を共有しています。ここでは詳しく説明しません。私は主にこの脆弱性環境を説明します:

(1)Springには実際にSpring Securityと呼ばれる独自のデフォルトのセキュリティフレームワークがありますが、Shiroの使用にはいくつかの開発が使用され、Spring SecuriyをShiroに置き換えます。この状況は珍しいことではありません。たとえば、RuoyiはSpring Shiroです。

1049983-20221205094141235-716240315.jpg(2)キーがある場合、シロの最新バージョンでさえ依然として脆弱性があり、多くの場合、開発、展開、その他の問題によりシロのキーが漏れます。

(3)Shiroが1.2.4を超えるバージョンでは、開発者の手動介入なしにキーがランダム生成に変更されます。このランダム生成は、Web環境が開始されるたびに再起動する前にキーが変更されないことです。 JVM仮想マシンメモリにあります。

1049983-20221205094142103-2055517121.jpg(4)SpringのHeapdumpファイルは、JVM仮想マシンメモリからエクスポートされます。

要約すると、この組み合わせの脆弱性が作成されました。

3。脆弱性の実証

脆弱な環境を読み込んだ後、シロバージョンが1.8.0であることがわかります。

1049983-20221205094143073-114670788.jpg

ポート8080で /アクチュエータ /heapdumpにアクセスして、heapdumpファイルを取得します。

1049983-20221205094143969-554120927.jpg

シロのキーを取得するためによく使用する方法は2つあります。

(1)jdumpspider:https://github.com/whwlsfb/jdumpspider

このウィジェットは、Heapdumpの変動情報を自動的にクロールすることができますが、これはより便利です。欠点は、クロールリストにない情報を見逃す可能性があることです。

:javaを直接実行します-jar jdumpspider.jar heapdump変数情報を自動的に取得します。ここでは、Shirokeyを入手してください:1049983-20221205094144681-379271828.jpg(2)jvisualvm.exe:Java独自のツール、デフォルトパスはJDKディレクトリ/bin/jvisualvm.exeです。

このツールは、必要な情報を手動で見つけて、フィルターにorg.apache.shiro.web.mgt.cookieremembermemanagerを入力する必要があります。

Pythonスクリプトを使用して、Base64エンコードのShiroキーに変換します。Pythonスクリプトを使用して、Base64エンコードされたShiroキーに変換します。

base64をインポートします

インポート構造

print(base64.b64encode(struct.pack( 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb)-115,33,59,24,112,44,124,56,110、-15,59,1、-41)))

1049983-20221205094147320-612137025.jpg

サーバーを再起動して、shiroキーをもう一度取得します。キーが変更されたことがわかります。脆弱性の原則の3番目のポイントが検証されます。開始するたびに、ランダムキーが生成されます。

1049983-20221205094148077-2083177773.png

新しいキーに切り替えることは、引き続き使用できます。

1049983-20221205094148947-1689724177.jpg

元のリンクから転載:https://xz.aliyun.com/t/11908

0 Comments

Recommended Comments

There are no comments to display.

Guest
Add a comment...