banner
lca

lca

真正的不自由,是在自己的心中设下牢笼。

fastjson 80のリモートコード実行の脆弱性再現

画像

fastjson の脆弱性の利用手順を把握しましたが、ここでは fastjson の脆弱性の原理には触れません。インターネット上で原理について説明しているものが比較的多いですが、このような基本的な内容は簡単すぎて誰も書いていないため、自分で試行錯誤しています。

プロジェクトのアドレス#

GitHub - Lonely-night/fastjsonVul at 7f9d2d8ea1c27ae1f9c06076849ae76c25b6aff7

利用条件#

  • fastjson バージョン: 1.2.76 <= fastjson < 1.2.83
  • groovy の依存関係が存在する

再現手順#

  1. attack モジュールを attack-1.jar パッケージにコンパイルします。

画像 - 20230329160058491

  1. attack-1.jar パッケージがあるディレクトリで、HTTP サーバーを起動します。

python -m SimpleHTTPServer 8433

画像 - 20230329160109284

  1. poc を実行します。

プロジェクトを Idea で再度開きます。プロジェクトのパスは以下の通りです:

画像 - 20230329160132495

JDK のバージョンを 1.8 に切り替えます

画像 - 20230329160148463

画像 - 20230329160158358

poc.java ファイルを開きます。このファイルは脆弱性の検証に使用するペイロードです。

画像 - 20230329160216067

右クリックして実行します。

画像 - 20230329160228607

ペイロードが正常に実行されました。

画像 - 20230329160239277

記事は荒っぽいですが、ご了承ください。

画像の出典:https://wallhaven.cc/

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。