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.

CHAPTER<br />

21<br />

A Web Application Hacker’s<br />

Methodology<br />

This chapter contains a detailed step-by-step methodology you can follow when<br />

attacking a <strong>web</strong> <strong>application</strong>. It covers all <strong>the</strong> categories of vulnerabilities and<br />

attack techniques described in this book. Following all <strong>the</strong> steps in this methodology<br />

will not guarantee that you discover all <strong>the</strong> vulnerabilities within a<br />

given <strong>application</strong>. However, it will provide you with a good level of assurance<br />

that you have probed all <strong>the</strong> necessary regions of <strong>the</strong> <strong>application</strong>’s attack surface<br />

and have found as many issues as possible given <strong>the</strong> resources available to you.<br />

Figure 21-1 illustrates <strong>the</strong> main areas of work that this methodology describes.<br />

We will drill down into this diagram and illustrate <strong>the</strong> subdivision of tasks that<br />

each area involves. The numbers in <strong>the</strong> diagrams correspond to <strong>the</strong> hierarchical<br />

numbered list used in <strong>the</strong> methodology, so you can easily jump to <strong>the</strong> actions<br />

involved in a specific area.<br />

The methodology is presented as a sequence of tasks that are organized and<br />

ordered according to <strong>the</strong> logical interdependencies between <strong>the</strong>m. As far as possible,<br />

<strong>the</strong>se interdependencies are highlighted in <strong>the</strong> task descriptions. However,<br />

in practice you will frequently need to think imaginatively about <strong>the</strong> direction<br />

in which your activities should go and allow <strong>the</strong>se to be guided by what you<br />

discover about <strong>the</strong> <strong>application</strong> you are attacking. For example:<br />

n Information ga<strong>the</strong>red in one stage may enable you to return to an earlier<br />

stage and formulate more focused attacks. For example, an access control<br />

bug that enables you to obtain a listing of all users may enable you to<br />

791

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

Saved successfully!

Ooh no, something went wrong!