Support Center

Burp Community

See what our users are saying about Burp Suite:

How do I?

New Post View All

Feature Requests

New Post View All

Burp Extensions

New Post View All

Bug Reports

New Post View All

Burp Suite Documentation

Take a look at our Documentation section for full details about every Burp Suite tool, function and configuration option.

Full Documentation Contents Burp Projects
Suite Functions Burp Tools
Options Using Burp Suite

Burp Extender

Burp Extender lets you extend the functionality of Burp Suite in numerous ways.

Extensions can be written in Java, Python or Ruby.

API documentation Writing your first Burp Suite extension
Sample extensions View community discussions about Extensibility
Name is required.
Email address is required.
Invalid email address
Answer is required.
Exceeding max length of 5KB

Writing an extension to add a signature on requests

Alla Bezroutchko Jul 01, 2015 09:14AM UTC


I am testing a web service that expects one of the request parameters to contain a hash of the remaining parameters and a shared secret. If I do a scan of it with Burp Scanner the majority of the requests will be treated as invalid by the service, because of the signature mismatch. What I'd like to do is capture the request the scanner is making just before it is sent, calculate the valid signature and replace it in the request. I suppose there should be a way to do it with Burp Extender, but I don't see a method that allows me to do that. Any suggestions?



Dafydd Stuttard Jul 02, 2015 08:47AM UTC Support Center agent

You can do this fairly easily with an extension. Probably the best option would be to register an IHttpListener. Your listener will get called for every request and response passing through any Burp tool. You can choose to operate only on requests to the relevant target host (or URL, or having a given parameter, etc.). You can perform whatever modifications you need, and update the request before it is sent.

There are various methods in IExtensionHelpers to analyze requests to obtain their parameters, and to update a parameters value, which should make your code fairly simple.

Post Your public answer

Your name
Your email address