Burp Suite User Forum

Create new post

Intruder/Payload pattern-matching algorithms

NazarMedeiros | Last updated: Oct 18, 2016 01:40PM UTC

Hello everyone, I have to "copy" some of the functionalities within burp for writing my own extension. This includes the "Intruder" tab aswell. To be honest the "Intruder" tab in burp is really really amazing. It automatically preselects some variables which can be interesting for you. You are also able to add variables in a manual way. What I need to know is how burp is replacing the selected positions with the actual payloads? I guess there are some pattern/matching algorithms in the background to replace the positions with individual values. But please... could you give me some information resources where I could look up? I have already searched in the internet but I haven't found a method which I could use in a generic way. Currently I implemented few methods which are specialized to pick only a specific value. Best regards, Nazar

PortSwigger Agent | Last updated: Oct 19, 2016 08:26AM UTC

Burp basically splits the request template into chunks around the payload marker character. If you concatenate all those chunks back together unmodified, then you get the original request without the markers. If you replace a relevant chunk with a payload, you get a modified request. There's nothing much more to it than that. You can split and reassemble raw byte arrays easily using the System.arrayCopy() API.

You must be an existing, logged-in customer to reply to a thread. Please email us for additional support.