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 21 n A Web Application Hacker’s Methodology 821<br />

5.10.4 Determine any reliance on segregation by path, such as /site/main and<br />

/site/demo, which can be subverted in <strong>the</strong> event of a cross-site scripting<br />

attack.<br />

5.10.5 Identify all <strong>the</strong> possible domain names and paths that will receive <strong>the</strong><br />

cookies that <strong>the</strong> <strong>application</strong> issues. Establish whe<strong>the</strong>r any o<strong>the</strong>r <strong>web</strong><br />

<strong>application</strong>s are accessible via <strong>the</strong>se domain names or paths that you<br />

may be able to leverage to capture <strong>the</strong> cookies issued to users of <strong>the</strong><br />

target <strong>application</strong>.<br />

6 Test Access Controls<br />

6.1. Understand <strong>the</strong> requirements<br />

6.4. Test for<br />

insecure methods<br />

6.2. Test with<br />

multiple accounts<br />

6.3. Test with<br />

limited access<br />

Figure 21-7: Testing access controls<br />

6.1 Understand <strong>the</strong> Access Control Requirements<br />

6.1.1 Based on <strong>the</strong> core functionality implemented within <strong>the</strong> <strong>application</strong>,<br />

understand <strong>the</strong> broad requirements for access control in terms of vertical<br />

segregation (different levels of users have access to different types<br />

of functionality) and horizontal segregation (users at <strong>the</strong> same privilege<br />

level have access to different subsets of data). Often, both types of segregation<br />

are present. For example, ordinary users may be able to access<br />

<strong>the</strong>ir own data, while administrators can access everyone’s data.<br />

6.1.2 Review your <strong>application</strong> mapping results to identify <strong>the</strong> areas of functionality<br />

and types of data resources that represent <strong>the</strong> most fruitful<br />

targets for privilege escalation attacks.<br />

6.1.3 To perform <strong>the</strong> most effective testing for access control vulnerabilities,<br />

you should ideally obtain a number of different accounts with different<br />

vertical and horizontal privileges. If self-registration is possible, you can<br />

probably obtain <strong>the</strong> latter directly from <strong>the</strong> <strong>application</strong>. To obtain <strong>the</strong><br />

former, you will probably need <strong>the</strong> cooperation of <strong>the</strong> <strong>application</strong> owner<br />

(or need to exploit some vulnerability to gain access to a high-privileged<br />

account). The availability of different kinds of accounts will affect <strong>the</strong><br />

types of testing you can perform, as described next.

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

Saved successfully!

Ooh no, something went wrong!