Jump to content
  • Entries

    16114
  • Comments

    7952
  • Views

    86386004

Contributors to this blog

  • HireHackking 16114

About this blog

Hacking techniques include penetration testing, network security, reverse cracking, malware analysis, vulnerability exploitation, encryption cracking, social engineering, etc., used to identify and fix security flaws in systems.

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