
Burp Extenderプラグインで、Javaオブジェクトをデシリアライズし、Xtreamライブラリを使用してXMLにエンコードします。
#JDSer-ngng
Javaオブジェクトをデシリアライズして、Xtream ライブラリを使用してXMLにエンコードするBurp Extenderプラグインです。
なぜ? このリリースでは、実際にはリクエストの変更を許可していなかったJDSer-ngの他の実装のバグを修正しています。また、それをさらに拡張し、デシリアライズされたJavaオブジェクトに対してintruder/scannerモジュールを適切に使用できるようにしました。SQLMapと併用する機能も追加しました。"send deserialized to intruder" の出力をコピーしてファイルに貼り付け、sqlmap.py -r --proxy "http://burp:port" を実行します。
基本的に、デシリアライズ、変更、再シリアライズ、送信を行い、(スキャナの場合のみ)Javaオブジェクトのように見えるレスポンスもデシリアライズします(Burpが例外文字列などをフラグできるようにするため)。
一部は khai-tran と IOActiveの拡張機能 https://github.com/IOActive/BurpJDSer-ng/ から借用しています。
IOActiveの人たちは私よりはるかに優れたREADMEを書いているので、それをそのまま使用してください:
##使い方
###1) クライアントの *.jar ファイルを見つけてダウンロードします デシリアライズするクラスを含む必要なjarファイルを見つける方法はいくつかあります。
最後に、burp.jarの隣に "libs/" ディレクトリを作成し、すべてのjarをその中に配置します。
###2) Burpプラグインを起動します ここ からダウンロードして、Extenderタブでロードするだけで、Outputウィンドウに ./libs/ からロードされたすべてのjarが一覧表示されます。
###3) シリアライズされたJavaトラフィックを検査します シリアライズされたJavaコンテンツは、適切な場所(プロキシ履歴、インターセプター、リピーターなど)のDeserialized Java入力タブに自動的に表示されます。 XMLに加えた変更は、別のタブに切り替えるかリクエストを送信すると、再シリアライズされます。
XMLスキーマを壊したり、オブジェクトを変な方法で編集したりすると、再シリアライズに失敗し、エラーが入力タブに表示されることに注意してください
エクステンダーがロードされるとJARが再ロードされます。すべてはstdoutに書き出されるので(java -jar burpsuite.jar を実行)、そこでエラーメッセージや問題を確認してください。
では