19.09.2017 Views

the-web-application-hackers-handbook

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Chapter 14 n Automating Customized Attacks 591<br />

better to have a nice user interface that lets you configure each of <strong>the</strong> attacks<br />

described in a few seconds.<br />

There are many situations in which you need more flexibility in how payloads<br />

are generated, requiring many more advanced payload sources than <strong>the</strong> ones<br />

we have created. You will also often need support for SSL, HTTP au<strong>the</strong>ntication,<br />

multithreaded requests, automatic following of redirections, and automatic<br />

encoding of unusual characters within payloads. There are situations in which<br />

modifying a single parameter at a time would be too restrictive. You will want<br />

to inject one payload source into one parameter and a different source into<br />

ano<strong>the</strong>r. It would be good to store all <strong>the</strong> <strong>application</strong>’s responses for easy reference<br />

so that you can immediately inspect an interesting response to understand<br />

what is happening, and even tinker with <strong>the</strong> corresponding request manually<br />

and reissue it. As well as modifying and issuing a single request repeatedly, in<br />

some situations you need to handle multistage processes, <strong>application</strong> sessions,<br />

and per-request tokens. It would also be nice to integrate <strong>the</strong> tool with o<strong>the</strong>r<br />

useful tools such as a proxy and a spider, avoiding <strong>the</strong> need to cut and paste<br />

information back and forth.<br />

Burp Intruder is a unique tool that implements all this functionality. It is<br />

designed specifically to enable you to perform all kinds of customized automated<br />

attacks with a minimum of configuration and to present <strong>the</strong> results<br />

in a rich amount of detail, enabling you to quickly hone in on hits and o<strong>the</strong>r<br />

anomalous test cases. It is also fully integrated with <strong>the</strong> o<strong>the</strong>r Burp Suite<br />

tools. For example, you can trap a request in <strong>the</strong> proxy, pass this to Intruder<br />

to be fuzzed, and pass interesting results to Repeater to confirm and exploit<br />

all kinds of vulnerabilities.<br />

We will describe <strong>the</strong> basic functions and configuration of Burp Intruder and<br />

<strong>the</strong>n look at some examples of its use in performing customized automated<br />

attacks.<br />

Positioning Payloads<br />

Burp Intruder uses a conceptual model similar to <strong>the</strong> one JAttack uses, based<br />

on positioning payloads at specific points within a request, and one or more<br />

payload sources. However, Intruder is not restricted to inserting payload strings<br />

into <strong>the</strong> values of <strong>the</strong> actual request parameters. Payloads can be positioned at<br />

a subpart of a parameter’s value, or at a parameter’s name, or indeed anywhere<br />

at all within a request’s headers or body.<br />

Having identified a particular request to use as <strong>the</strong> basis for <strong>the</strong> attack, each<br />

payload position is defined using a pair of markers to indicate <strong>the</strong> start and end<br />

of <strong>the</strong> payload’s insertion point, as shown in Figure 14-1.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!