1

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.

2 Answers 2

1

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

1

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:

https://support.portswigger.net/customer/portal/articles/2906338-using-burp-s-session-handling-rules-with-anti-csrf-tokens

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.

2
  • 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. Commented Jan 21, 2019 at 8:30
  • @PortSwigger, thanks for your feedback. I agree, in this particular instance, a recursive grep may be a better option.
    – user196110
    Commented Jan 22, 2019 at 7:40

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .