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.

36 Chapter 2 n Core Defense Mechanisms<br />

Figure 2-8: An administrative interface within a <strong>web</strong> <strong>application</strong><br />

Summary<br />

Despite <strong>the</strong>ir extensive differences, virtually all <strong>web</strong> <strong>application</strong>s employ <strong>the</strong><br />

same core security mechanisms in some shape or form. These mechanisms represent<br />

an <strong>application</strong>’s primary defenses against malicious users and <strong>the</strong>refore<br />

also comprise <strong>the</strong> bulk of <strong>the</strong> <strong>application</strong>’s attack surface. The vulnerabilities<br />

we will examine later in this book mainly arise from defects within <strong>the</strong>se core<br />

mechanisms.<br />

Of <strong>the</strong>se components, <strong>the</strong> mechanisms for handling user access and user input<br />

are <strong>the</strong> most important and should receive most of your attention when you are<br />

targeting an <strong>application</strong>. Defects in <strong>the</strong>se mechanisms often lead to complete<br />

compromise of <strong>the</strong> <strong>application</strong>, enabling you to access data belonging to o<strong>the</strong>r<br />

users, perform unauthorized actions, and inject arbitrary code and commands.<br />

Questions<br />

Answers can be found at http://mdsec.net/wahh.<br />

1. Why are an <strong>application</strong>’s mechanisms for handling user access only as<br />

strong as <strong>the</strong> weakest of <strong>the</strong>se components?<br />

2. What is <strong>the</strong> difference between a session and a session token?<br />

3. Why is it not always possible to use a whitelist-based approach to input<br />

validation?

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

Saved successfully!

Ooh no, something went wrong!