#JDSer-ngng
一个 Burp Extender 插件,它会对 Java 对象进行反序列化,并使用 Xtream 库将其编码为 XML。
为什么?此版本修复了 JDSer-ng 中另一个实现的错误,该实现实际上不允许修改请求。此外,它还进一步扩展,允许将 intruder/scanner 模块正确用于反序列化的 Java 对象。我还增加了与 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 输入选项卡中(代理历史记录、拦截器、Repeater 等)。
一旦你切换到其他选项卡或发送请求,对 XML 所做的任何更改都将被重新序列化。
请注意,如果你弄乱了 XML 模式或以奇怪的方式编辑对象,重新序列化将失败,并且错误将显示在输入选项卡中
加载扩展时 JAR 会重新加载。所有内容都写入 stdout(因此请运行 java -jar burpsuite.jar)并在那里查找错误消息/问题。
祝好