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 />

4<br />

Mapping <strong>the</strong> Application<br />

The first step in <strong>the</strong> process of attacking an <strong>application</strong> is ga<strong>the</strong>ring and examining<br />

some key information about it to gain a better understanding of what you<br />

are up against.<br />

The mapping exercise begins by enumerating <strong>the</strong> <strong>application</strong>’s content and<br />

functionality in order to understand what <strong>the</strong> <strong>application</strong> does and how it<br />

behaves. Much of this functionality is easy to identify, but some of it may be<br />

hidden, requiring a degree of guesswork and luck to discover.<br />

After a catalog of <strong>the</strong> <strong>application</strong>’s functionality has been assembled, <strong>the</strong><br />

principal task is to closely examine every aspect of its behavior, its core security<br />

mechanisms, and <strong>the</strong> technologies being employed (on both <strong>the</strong> client and<br />

server). This will enable you to identify <strong>the</strong> key attack surface that <strong>the</strong> <strong>application</strong><br />

exposes and hence <strong>the</strong> most interesting areas where you should target subsequent<br />

probing to find exploitable vulnerabilities. Often <strong>the</strong> analysis exercise can<br />

uncover vulnerabilities by itself, as discussed later in <strong>the</strong> chapter.<br />

As <strong>application</strong>s get ever larger and more functional, effective mapping is a<br />

valuable skill. A seasoned expert can quickly triage whole areas of functionality,<br />

looking for classes of vulnerabilities as opposed to instances, while investing<br />

significant time in testing o<strong>the</strong>r specific areas, aiming to uncover a high-risk issue.<br />

This chapter describes <strong>the</strong> practical steps you need to follow during <strong>application</strong><br />

mapping, various techniques and tricks you can use to maximize its effectiveness,<br />

and some tools that can assist you in <strong>the</strong> process.<br />

73

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

Saved successfully!

Ooh no, something went wrong!