
CVE-2020-7378 の概念実証エクスプロイト。予測可能なパスワードリセットトークン生成とブラインドXXEを連鎖させ、OpenCRXで管理者アクセスを取得し、サーバーファイルを外部に流出させます。
このリポジトリには、OpenCRX(バージョン5.0-20200717までを含む)の重大な脆弱性であるCVE-2020-7378に対する統合された概念実証(PoC)エクスプロイトが含まれています。このエクスプロイトは、アプリケーションにおける2つの根本的な問題を連鎖させます。
java.util.Randomに依存していることによる予測可能なパスワードリセットトークンの脆弱性。これにより、攻撃者はミリ秒単位のタイムスタンプシードに基づいて有効なトークンを生成できます。RestServletエンドポイントにおける**ブラインドXML外部エンティティ(XXE)**の脆弱性。これにより、サーバーのファイルシステムからリモートでファイルを漏洩できます。これらの2つの欠陥の組み合わせにより、認証を受けていない攻撃者が管理者権限を取得し、機密性の高いサーバーサイドファイルを流出させることが可能になります。
opencrx-exploit.py: トークン予測とXXEファイル読み取りの両方を実行するフルチェーンエクスプロイトスクリプト。OpenCRXToken.java: リクエストタイミングに基づいたブルートフォースシード範囲を使用してトークン生成ロジックをエミュレートするJavaクラス。トークンジェネレーターをコンパイルします:
javac OpenCRXToken.java
エクスプロイトを実行します:
python3 opencrx-exploit.py <target_user_id>
これにより以下の処理が行われます: