19.09.2017 Views

the-web-application-hackers-handbook

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

798 Chapter 21 n A Web Application Hacker’s Methodology<br />

1.5.3 If applicable, compile a map of <strong>application</strong> content based on functional paths,<br />

ra<strong>the</strong>r than URLs, showing all <strong>the</strong> enumerated functions and <strong>the</strong> logical<br />

paths and dependencies between <strong>the</strong>m. (See Chapter 4 for an example.)<br />

1.6 Test for Debug Parameters<br />

1.6.1 Choose one or more <strong>application</strong> pages or functions where hidden debug<br />

parameters (such as debug=true) may be implemented. These are most<br />

likely to appear in key functionality such as login, search, and file upload<br />

or download.<br />

1.6.2 Use listings of common debug parameter names (such as debug, test,<br />

hide, and source) and common values (such as true, yes, on, and 1).<br />

Iterate through all permutations of <strong>the</strong>se, submitting each name/value<br />

pair to each targeted function. For POST requests, supply <strong>the</strong> parameter<br />

in both <strong>the</strong> URL query string and <strong>the</strong> request body. Use <strong>the</strong> techniques<br />

described in Chapter 14 to automate this exercise. For example, you<br />

can use <strong>the</strong> cluster bomb attack type in Burp Intruder to combine all<br />

permutations of two payload lists.<br />

1.6.3 Review <strong>the</strong> <strong>application</strong>’s responses for any anomalies that may indicate<br />

that <strong>the</strong> added parameter has had an effect on <strong>the</strong> <strong>application</strong>’s processing.<br />

2 Analyze <strong>the</strong> Application<br />

2.1. Identify<br />

functionality<br />

2.2. Identify data<br />

entry points<br />

2.3. Identify<br />

technologies<br />

2.4. Map <strong>the</strong> attack surface<br />

Figure 21-3: Analyzing <strong>the</strong> <strong>application</strong><br />

2.1 Identify Functionality<br />

2.1.1 Identify <strong>the</strong> core functionality that <strong>the</strong> <strong>application</strong> was created for and<br />

<strong>the</strong> actions that each function is designed to perform when used as<br />

intended.<br />

2.1.2 Identify <strong>the</strong> core security mechanisms employed by <strong>the</strong> <strong>application</strong> and<br />

how <strong>the</strong>y work. In particular, understand <strong>the</strong> key mechanisms that handle

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

Saved successfully!

Ooh no, something went wrong!