The URL is https://www.example.com/send?session=abcabcabc.

When the above URL is requested, a response comes with <a> tag which contains a new URL with a different session value like https://www.example.com/send?session=xyzxyzxyz.

As you can notice, the session value has changed and it changed on each request.

So my question is how can I use Burp intruder to do a repeated request?

The workflow should be:

Burp > request sent > gets response > take URL or session value from response > send request with updated session value in URL > loop continues.


What you're looking for is Recursive grep. The following would solve your problem;
- Set payload type as Recursive grep
- Then, from "Options" tab under Grep - Extract, add a match as required
- Set 'Number of threads' to 1 (because you need response from immediate next response)

There are several blog posts on this very topic, here's one from PortSwigger -https://portswigger.net/blog/using-recursive-grep-for-harvesting-data


You need to create a Burp Macro followed by a Session Handling Rule within Project Options tab.

The following URL provides the detailed description of how to achieve this:


The Title of the topic on the website says "Using Burp's Session Handling Rules with anti-CSRF Tokens", however it does exactly what you're trying to achieve here.

  • As I understand the original question, they need to repeatedly issue a request with a value updated from a response. A macro would be good for doing it a fixed number of times, but to do it repeatedly, recursive grep is required. Jan 21 '19 at 8:30
  • @PortSwigger, thanks for your feedback. I agree, in this particular instance, a recursive grep may be a better option.
    – Vishal
    Jan 22 '19 at 7:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.