BurpBeautifier is a Burpsuite extension for beautifying request/response body, supporting JS, JSON, HTML, XML format, writing in Jython 2.7.
Install from BApp Store:
Visit Jython Offical Site, and download Jython Standalone jar file.Open Burpsuite, goto Extender -> Options -> Python Environment, set the Location of Jython Jar. And goto Extender -> BApp Store, find Burp Beautifier and install it.
(BurpBeautifier had been removed from BApp Store since the new version of Burpsuite already has beautify function.)
Manual Install:
- Visit Jython Offical Site, and download Jython Installer.
- Open Jython Installer to install Jython(In standard mode, make sure it will install pip). Assume it has be installed in
D:\jython2.7.1
directory. - Install Jython modules:
D:\jython2.7.1\bin\jython.exe -m pip install -r requirements.txt
. - Open Burpsuite, goto Extender -> Options -> Python Environment, set the Location of Jython Jar is
D:\jython2.7.1\jython.jar
, and the Folder for loading modules isD:\jython2.7.1
. - Download this tool, Open Burpsuite, goto Extender -> Extensions -> Add -> Choose the beautifier.py.
Options setting:
General Options
: Set Max Size of data that should be beautified.Enable in MessageEditorTab
: By default, JavaScript and JSON is enable, and HTML and XML is disable cause Burpsuite already beautify these.Replace PROXY Response
: Enable it if you want to beautify response and replace it.
- Supportting Format
- JS: use jsbeautify module
- JSON: use jsbeautify module
- HTML: use beautifulsoup4 module, and jsbeautify module for js code in HTML
- XML: use xml module
- Writing in Jython, modify source code conveniently. eg: Modify the beautify function to change how to beautify.
- Beautify and replace response body.
- Option setting persistence.
- Send Resquest/Response body to Beautifier Panel.
- It may modify data, such as: beautifying xml will add the
<?xml version="1.0" encoding="UTF-8"?>
header, beautifying html will repair html tag. - It assume the request/response body is utf-8, so if the body is not utf8 encoding or compatible with utf8, it may not work well.
- Not considering gzip/deflate compress/decompress, so need the Proxy->Options->Miscellaneous->Unpack gzip/deflate in response is enabled(Enabled by default).
- Jython is slow. So It will not beautify if size excess dataMaxSize(default is 680KB).