Burp community forum

saving state for extension data

Danny | Last updated: Jul 14, 2015 05:48PM UTC

Is there a method to save/restore extension data as part of Burp's "save state"? I didn't see anything in the API docs. Just trying it, the extension data wasn't saved during a save and restore. Anything I'm missing, or should I just write my own save functionality for my data? Thanks!

PortSwigger Agent | Last updated: Jul 15, 2015 08:01AM UTC

There isn't currently a way for extensions to save data in state files, sorry. We're currently working on a replacement for state files, in which Burp will save all its data incrementally in real time into a new project file format. When that feature is available and settled in, we'll look at how we can expose it to extensions for them to include their data within the project file.

Liam, PortSwigger Agent | Last updated: Feb 19, 2016 09:51AM UTC

Hi Mick Thanks for your message. There is still no way for for extensions to save data in state files, sorry. The replacement for state files should be released within the next few weeks. Meaning that we can look at how we can expose it to extensions for them to include their data within the project file. Thanks for your patience.

Burp User | Last updated: Mar 29, 2016 07:12PM UTC

Is this still not supported? Would serializing your data and saving it using saveExtensionSetting work? Or is this data not saved in the state file?

Burp User | Last updated: Jun 17, 2016 07:00PM UTC

Was this feature actually included with the launch of project configuration files, or still under development?

PortSwigger Agent | Last updated: Jun 20, 2016 09:50AM UTC

There isn't currently a way for extensions to store data within project files. We do plan to offer this capability at some point, but we don't currently have an ETA for the feature, sorry.

Burp User | Last updated: Apr 10, 2017 03:54PM UTC

Any update on this? We're working on a lot of plugins internally, and while saving separate files is working just fine, it's getting to be more difficult as we add more plugins into the workflow. Just wanted to say, however, the Extender API has been a pleasure to work with!

PortSwigger Agent | Last updated: Apr 13, 2017 02:53PM UTC

We're planning a general revamp of the API in the coming year, and we will look at providing this capability as part of that work.

Burp User | Last updated: Mar 27, 2018 01:46PM UTC

Another year has passed. Is there any ETA available for this feature?

PortSwigger Agent | Last updated: Mar 27, 2018 01:47PM UTC

Hi Michal, Unfortunately there has not been any progress on this feature. It is now unlikely to be looked at until the more major refactor of the extension API. However, I can suggest a workaround. You can create an IHttpRequestResponse that contains the data you want to save. Use a URL like http://my-extension/ then use callbacks.addToSiteMap to store it and getSiteMap to retrieve it.

Burp User | Last updated: Jun 18, 2018 02:41PM UTC

Hello Paul. Is there a workaround for persisting extension state which is rapidly changing? Your suggested workaround is not usable because there is no way to change o remove an item in a site map from an extension. This means that each extension state change results in a new site map item, which quickly bloats the project size (in my extension the state changes frequently)

PortSwigger Agent | Last updated: Jun 18, 2018 02:43PM UTC

Hi, If you make the site map item a GET request, and keep the same URL then the item old item is removed. However, this will still cause the project to grow, until you do "Save copy of project" to compact it. Perhaps you could just save state when extension is unloaded, not continually? Please let us know if you need any further assistance.

Burp User | Last updated: Jul 16, 2019 05:11AM UTC

Hi, any updates on the possibilities on APIs to save extension's data?

Liam, PortSwigger Agent | Last updated: Jul 17, 2019 01:02PM UTC

Thanks for your request. We have this logged in our development backlog. Unfortunately, we can't provide an ETA.

You need to Log in to post a reply. Or register here, for free.